已通过链接服务器连接到SYBASE,操作无问题。
但是,在用到事务时,比如
BEGIN TRANSACTION
update HIS.FL_TL_HIS.dbo.tphy_jcxmdm set lisbz='1'
commit
提示以下错误信息:
服务器: 消息 7399,级别 16,状态 1,行 2
OLE DB 提供程序 'Sybase.ASEOLEDBProvider' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'Sybase.ASEOLEDBProvider' ITransactionJoin::JoinTransaction returned 0x80004005:  提供程序未给出有关错误的任何信息。]。如果不使用事务就没问题,但是触发器中有隐式事务。多谢各位帮忙。

解决方案 »

  1.   

    如果不用触发器,就要改程序了。驱动程序:Sybase ASE OLE DB Provdier
      

  2.   

    事务及回滚是MSSQL里面的操作,而查询是SYBASE里的操作,怎么回滚?
    除非你知道SYBASE里是怎么使用事务的,并且将事务操作及回滚放到SYBASE里,并将事务运行的结果反馈到MSSQL,否则恐怕不行.
      

  3.   

    好像MSSQL对分布式事务的支持很差,把显示的事务代码都去掉吧。
      

  4.   

    那就改程序吧
    如果实时性要求不高,可以触发器写入到一个表,再增加个作业读取这个表,更新到Sybase,然后删除这个表的数据,可以定义作业没几分钟执行一次来扫描,具体时间看实时性要求。
      

  5.   

    那,有没得从SYBASE连接到SQL SERVER2000的方案呢?
      

  6.   

    这个貌似可以BAIDU一下 应该比较多
      

  7.   

    这是我最开始的方案,搜索了很久。
    可出来的结果都是一样的,几乎都是一个模板。
    SYBASE网站也去了。
    照着一步步设置,就是连接不过去。