Dan*_*har 6 ms-access msdtc odbc linked-server sql-server-2008
我已成功通过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.
Run Code Online (Sandbox Code Playgroud)
我可以通过从Sql Management Studio执行此操作来简单地重新创建它
begin distributed transaction
//anything that queries the linked server
commit transaction
Run Code Online (Sandbox Code Playgroud)
那么我错过了什么?我已经读过ODBC驱动程序支持分布式事务,但我不确定ACCESS数据库是否支持.所以如果有人能够证实这一点.那会有所帮助.
\n\n\n\n\n\nAccess 没有事务,因为 Access 不是数据库引擎。Jet/ACE(Access 的默认数据库引擎)自从我使用它以来就一直支持提交/回滚(自 Jet 2.x 起,例如 1996 年)。\n 它从未支持事务日志记录,并且可能永远不会(我认识到这不是您要问的问题,但许多从服务器数据库背景来到 Jet/ACE 的人对术语“事务”的含义相当模糊,并且有很难理解\n Jet/ACE 支持其中一个而不支持另一个)。\xe2\x80\x93 大卫-W-芬顿 1 月 16 日 \'10\n 23:12
\n
| 归档时间: |
|
| 查看次数: |
3219 次 |
| 最近记录: |