Jac*_*cob 1 python sql-server pymssql
我正在尝试通过pymssql从python脚本执行与链接服务器通信的存储过程。手动运行时,SP可以工作,但是从python脚本运行时,出现以下错误:
(7391, 'The operation could not be performed because OLE DB
provider"SQLNCLI11" for linked server "DBLOG" was unable to begin a
distributed transaction.DB-Lib error message 20018, severity 16:
\nGeneral SQL Server error: Check messages from the SQL Server\n')
Run Code Online (Sandbox Code Playgroud)
我还没有找到任何在pymssql本身中引用此限制的内容。我不太确定从哪里开始。我使用pymssql做了大量工作,并且从未遇到任何连接问题,并且我已经验证了我使用的登录名具有足够的权限(甚至尝试使用SA)。
有任何想法吗?
谢谢!
我能够使用试图在链接服务器上执行UPDATE的SP重新创建该问题,例如,
UPDATE LINKEDSERVERNAME...TableName SET ...
Run Code Online (Sandbox Code Playgroud)
虽然我的错误信息略有不同
(8501,“服务器'PANORAMA \ SQLEXPRESS'上的MSDTC不可用。DB-Lib错误消息20018,...
通过autocommit=True在pymssql.connect通话结束时添加一个参数,我可以避免此问题。
如果出于某种原因使用autocommit=True对您不利,那么请看一下
有关配置MSDTC的信息。
| 归档时间: |
|
| 查看次数: |
460 次 |
| 最近记录: |