我已成功通过openquery查询数据。
SELECT * FROM OPENQUERY(LINKEDHELL,'SELECT * FROM [D:\ path \ mordor.mdb] .Orcs')
我可以通过openquery插入/更新/删除(来自Sql Management Studio内部)
我创建了一个数据库,它公开了一个包含openquery表达式的视图。这允许我的应用程序不知道它通过链接服务器连接查询并允许我使用ORM的事实。例证:实体框架。
然而,在检索数据时,更新/插入/删除不会。 我花了很多时间确保MSDTC配置正确,但没有骰子。
MSDTC
其他
我得到的错误:
OLE DB provider "MSDASQL" for linked server "LINKEDHELL" returned message "[Microsoft][ODBC Microsoft Access Driver]Invalid attribute/option identifier ".
Msg 7391, Level 16, State 2, Line 4
The operation could not be performed because OLE DB provider "MSDASQL" for linked server "LINKEDHELL" was unable to begin a distributed transaction.
我可以通过从Sql Management Studio
执行此操作来重新创建它begin distributed transaction
//anything that queries the linked server
commit transaction
那么我错过了什么? 我已经读过ODBC驱动程序支持分布式事务,但我不确定ACCESS数据库是否支持。所以如果有人能够证实这一点。那会有所帮助。
答案 0 :(得分:1)
Access没有事务,因为Access不是数据库 发动机。支持Jet / ACE(Access的默认数据库引擎) 只要我使用它就提交/回滚(因为Jet 2.x,例如,1996)。 它从未支持事务日志记录,可能永远不会支持(I 认识到这不是你所要求的,而是许多即将到来的 来自服务器数据库背景的Jet / ACE相当模糊 “交易”一词的含义,并且很难掌握这一点 Jet / ACE支持一个而不支持另一个)。 - David-W-Fenton 2010年1月16日 在23:12