繁体   English   中英

从 SQL 服务器存储过程插入 DB2 数据库成功,但使用实体框架包装相同的过程失败

[英]Inserting into DB2 database from SQL Server stored procedure succeeds, but wrapping the same procedure using Entity Framework fails

我需要能够从 Microsoft SQL 服务器数据库将行插入到 DB2 数据库中的一组表中。 我创建了存储过程,可以使用链接服务器将行插入到 DB2 数据库中,并通过 4 个部分名称引用目标表。 这些过程有效,我可以通过在 SQL Server Management Studio 中调用它们来插入记录。

两个数据库之间的模式不同,所以我使用 C# 程序和实体框架包装这些存储过程来帮助我执行映射。 运行我的程序时,会抛出异常并显示消息

无法执行操作,因为链接服务器“LinkedServer”的 OLE DB 提供程序“IBMDASQL”无法开始分布式事务

运行 SQL 跟踪并重放由 SQL Server Management Studio 中的实体框架创建的命令在 DB2 中创建所需的记录。

为了让这些存储过程调用从实体框架工作,我在这里缺少什么?

通过在我的数据库上下文中设置配置属性解决了我的问题。

db.Configuration.EnsureTransactionsForFunctionsAndCommands = false;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM