环境如下,通过jdbc调用存储过程(procedure),出现如下错误:
[SQLServer 2000 Driver for JDBC][SQLServer]服务器 'FILES-SERVER' 上的 MSDTC 不可用
[SQLServer 2000 Driver for JDBC][SQLServer]该操作未能执行,因为 OLE DB 提供程序'SQLOLEDB' 无法启动分布式事务。
因为在存储过程中调用了如下的sql方法
opendatasource('SQLOLEDB','Data Source = 192.168.1.1;User ID = sa;Password =psstone') 所以就出现了上面的错误。因为存储过程调用的数据库其实是同一台服务器,把我把opendatasource方法去了,调试通过。可我还是不明白(在ms sql的查询分析器中,执行此存储过程没有问题,可为什么通过JDBC调用就会出现如上的错误?
)。
假如真的是调用另一个服务器上的数据,那怎么办呢?opendatasource方法是通过链接服务来调用分布式事务(调用另一台数据库服务获取数据),可能是因为OLE DB 提供程序'SQLOLEDB' 无法启动分布式事务,那么用什么样子的程序(驱动程序)能启动分布式事务呢?
等把这个东东做完了,在来好好研究一下吧,时间有限。
请赐教,:)
下面是我找到的一些资料,
http://community.csdn.net/Expert/topic/2889/2889213.xmlhttp://community.csdn.net/Expert/topic/2835/2835706.xml
posted on 2005-09-02 08:46
Harryson 阅读(1750)
评论(0) 编辑 收藏 所属分类:
SqlServer 、
Question