sql操作access时出现 MSDTC错误,服务器 'SERVER' 上的 MSDTC 不可用。

来源:互联网 发布:淘宝主播排名榜在哪看 编辑:程序博客网 时间:2024/05/20 05:07

公司几个部门asp做的客户关系管理系统,放在不同服务器,在转换数据时采用assess.mbb文件做中间交换,
但是有一个服务器链接mdb文件时,每过一段时间总是莫名出现 未知错误,重启电脑后就好了。
按照
http://blog.csdn.net/Bobwu/archive/2009/06/18/4278246.aspx
以及网上搜索,什么办法都试过了,还是解决不了问题。原来写法是直接链接access数据库,用asp写数据。

connstr_access="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath(newFile)

 

最后决定变换方式,采用sql 直接向access文件插数据的 办法
部份SQL如下:

set @sql='insert into  OpenDataSource
('
set @sql=@sql+ '''Microsoft.Jet.OLEDB.4.0'',''Data Source='+@FILEPATH
set @sql=@sql+ ';'
set @sql=@sql+ ''')...GS_XZQBM(XZQBM,XZQMC)  SELECT XZQBM,XZQMC FROM #GS_XZQBM '
--print @sql
exec(@sql)


执行后出现 MSDTC 未执行类似错误. 用如下方法解决.


MSDTC设置是否正确.  
  1.打开命令提示,运行"net   stop   msdtc",然后运行"net   start   msdtc"。  
  2.转至"组件服务管理工具"。  
  3.浏览至"启动管理工具"。  
  4.选择"组件服务"。  
    a.展开"组件服务"树,然后展开"我的电脑"。  
    b.右键单击"我的电脑",然后选择"属性"。  
    C.在   MSDTC   选项卡中,确保选中了下列选项:   网络   DTC   访问  
  网络管理  
  网络事务  
          XA   事务  
    e.另外,"DTC   登录帐户"一定要设置为"NT   Authority/NetworkService"。  
  5.单击"确定"。这样将会提示您"MS   DTC   将会停止并重新启动。  
      所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。  
  6.单击"确定"关闭"我的电脑"属性窗口。


一般用第一条命令就可以解决了。