SQLSTATE:56038,SQLCODE:-4700

时间:2014-08-20 19:00:40

标签: ssis visual-studio-2013 db2 oledbconnection

我正在尝试使用ssis连接到DB2 10.5版兼容模式。我成功建立了与DB2的连接,并使用Microsoft ole db provider for DB2从表中读取。但我遇到的麻烦是插入DB2表。这个ssis包与以前的db2版本9一起工作正常,但在升级后它的表演有线。我尝试了IBM驱动程序10.5版本,但即便如此也无济于事。我正在读取平面文件,使用脚本组件操作行和数据转换为db2和插入的正确数据类型。我在插入时遇到错误。我在sql中创建了具有相同数据类型的相同表,并且插件仅在DB2中爆炸。该错误非常通用,甚至错误代码和错误列也没有提供任何信息。

对于Micrsoft驱动程序,我收到此错误: 错误:0xC0202009写入DB2 Tran表1,OLE DB目标[165]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21。 OLE DB记录可用。来源:“Microsoft DB2 OLE DB提供程序”Hresult:0x80040E14描述:“发生了SQL错误。请参阅特定DB2版本的文档,以获取关联的本机错误和SQL状态的说明.SQLSTATE:56038,SQLCODE:-4700 ”

对于IBM Drivers,我收到此错误。 错误:0xC0202009写入DB2 Tran表1,OLE DB目标[165]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。源:“IBM OLE DB Provider for DB2”Hresult:0x80004005描述:“CLI0115E无效的游标状态.SQLSTATE = 24000”。 OLE DB记录可用。来源:“IBM OLE DB Provider for DB2”Hresult:0x80004005描述:“CLI0115E无效的游标状态.SQLSTATE = 24000”。

更新:我最终能够找到原因。我们使用的DB2版本是转换模式,由于某种原因(我的db2人仍在跟踪这个原因)不允许插入。一旦他们从转换模式升级到新功能模式,我的ssis包就像魅力一样。第二种解决方案是将OLE DB Provider for DB2 3.0用于转换模式,如果不将DB2数据库升级到新功能模式,它就可以工作。

0 个答案:

没有答案
相关问题