当前位置: 首页 > 知识库问答 >
问题:

从SQL Server存储过程插入DB2数据库成功,但使用实体框架包装同一过程失败

董奇思
2023-03-14

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

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

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

服务器管理工作室中运行SQL跟踪并重放实体框架创建SQL命令会在DB2中创建所需的记录。

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

共有1个答案

范宏大
2023-03-14

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

数据库。配置EnsureTransactionsForFunctionsAndCommands=false;

 类似资料:
  • 本文向大家介绍SQLServer用存储过程实现插入更新数据示例,包括了SQLServer用存储过程实现插入更新数据示例的使用技巧和注意事项,需要的朋友参考一下 实现 1)有相同的数据,直接返回(返回值:0); 2)有主键相同,但是数据不同的数据,进行更新处理(返回值:2); 3)没有数据,进行插入数据处理(返回值:1)。 【创建存储过程】 【执行方式】 返回值0,已经存在相同的 返回值1,插入成功

  • 问题内容: 背景 我将项目中的LINQ-to-SQL代码更改为Entity Framework。大部分更改都相对简单,但是,我遇到了一个相当大的问题。使用LINQ-to- SQL,我能够使用如下存储过程来加载整个对象图(针对模型B): 但是,将这段代码转换为EF之后,在访问ViewModel.Model.ModelBs的行上,出现错误“ EntityCommandExecutionExceptio

  • 我试图使用RazorSQL客户端在DB2数据库中创建一个存储过程,但遇到了以下错误: 块引用错误:字符、标记或子句无效或丢失。DB2SQL错误:SQLCODE=-104, SQLSTATE=42601, SQLERRMC=SELECT 存储过程代码为:

  • 如果你有什么建议,我很想听听! 谢谢:)

  • 我正在使用 db2 和 S 松鼠 SQL 我试图创建一个存储过程,其中包含一个简单的select语句。当我省略下面的select语句并运行代码时,过程就创建好了。这个过程也可以被删除和调用。 当我添加select语句时,我得到错误:DB2 SQL错误:SQLCODE=-102,SQLSTATE=42601,... 如果你去IBM iseries信息中心,它会说: SQL0104 SQLCODE-1

  • 本文向大家介绍查询Sqlserver数据库死锁的一个存储过程分享,包括了查询Sqlserver数据库死锁的一个存储过程分享的使用技巧和注意事项,需要的朋友参考一下 使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁, 死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉。利用sp_who_lock这个存储过程,可以很方便的知道哪个