首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从sql server通过链接服务器插入时出错。

从sql server通过链接服务器插入时出错。
EN

Stack Overflow用户
提问于 2013-06-12 15:41:50
回答 4查看 2.1K关注 0票数 0

我正在尝试将一些数据从c#应用程序插入到AS400服务器中。我在控制面板的数据源中创建了一个数据序列号:

代码语言:javascript
复制
Data source name : Newissues
Description :iSeries Access for Windows ODBC data source
Connection type : use odbc access mode

在C#中,我使用的OdbcConnection .My连接字符串是:

代码语言:javascript
复制
DSN=newissues; UID=strUser; PWD=strPassword;DBQ=DBName; QueryTimeOut=0;

在C#中,我可以打开数据库并进行选择,但当我尝试插入或删除时,我收到了以下消息:

代码语言:javascript
复制
ERROR [HY000] [IBM][iSeries Access ODBC Driver][DB2 UDB]SQL7008 - test in DBName not valid for operation.

我的插入命令是:

代码语言:javascript
复制
INSERT INTO DBName.test VALUES('0730','  10230526')

我还尝试从具有链接服务器的sql server插入数据,但收到相同的消息error:

代码语言:javascript
复制
insert openquery(MyLinkServer,'select "IACO","IAPOLNUM" from DBName .test WHERE 1=0') VALUES('0730','  10230526')

错误:

代码语言:javascript
复制
OLE DB provider "MSDASQL" for linked server "MyLinkServer" returned message "[IBM]   [System i Access ODBC Driver][DB2 for i5/OS]SQL7008 - test in DBName not valid for operation.".
Msg 7343, Level 16, State 2, Line 1
The OLE DB provider "MSDASQL" for linked server "MyLinkServer" could not INSERT INTO table "[MSDASQL]". 

有人能帮我解决这个问题吗?谢谢

EN

回答 4

Stack Overflow用户

发布于 2013-07-22 15:48:52

更改您的连接字符串并添加blow代码

代码语言:javascript
复制
CommitMode=0
票数 2
EN

Stack Overflow用户

发布于 2013-12-24 05:41:37

代码语言:javascript
复制
using (iDB2Transaction db2Transaction = db2Command.Connection.BeginTransaction(IsolationLevel.Chaos))
{
  db2Command.Transaction = db2Transaction;
  Update/Insert/Delete
}

db2Command = iDB2Command

注意:不推荐使用IsolationLevel.Chaos,因为在IBM上,这会导致事务自动提交,并且不能回滚。如果可以的话,请尝试IsolationLevel枚举中的其他值。

票数 1
EN

Stack Overflow用户

发布于 2013-07-28 13:59:44

如果有疑问,在谷歌上搜索错误:http://www.querytool.com/help/876.htm

更新iSeries表的DB2时出现错误SQL7008

更新iSeries表的DB2时,可能会出现错误

SQL7008 -(文件)中的(表)对操作无效

这是因为您尝试更新的表没有被记录日志,而您的更新是在事务内运行的。

有许多方法可以解决此问题:

  • 关闭选项>运行SQL >安全更新模式。如果选择了安全更新模式,则AQT将在transaction.
  • ensure选项>技术参数>自动提交中运行更新和删除。
  • 如果您使用的是DB2Connect,请确保将AutoCommit设置为Yes。这是使用DB2配置助手配置的。
  • 如果您使用的是DB2 Client Access Express,请将提交模式设置为立即提交(*无)。这是在数据源的ODBC配置上配置的。

这些你都试过了吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17060142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档