我正在使用ODBC在C#中读取DB2数据库,并在尝试从DataReader访问该数据时出现溢出。我认为问题是DB2客户端未设置为正确报告数据类型。例如,它将字符字段显示为“GRAPHIC()CCSID 13488”类型,这对我来说是gobbledygook。当.NET尝试读取一个我知道12个字符的字符串作为Int32的字段时,溢出就会出现。
很久以前我使用DB2并且回想起必须在客户端设置属性,但我的调整都没有奏效。有人可以帮忙吗?
操作系统是Windows Server 2008 R2,x64 ODBC驱动程序名为“iSeries Access ODBC Driver”,引用dll CWBODBC.DLL
以下是我认为应该解决此问题的设置的屏幕截图:
答案 0 :(得分:1)
事实证明,“将二进制数据(CCSID 65535)转换为文本”上面显示的设置是正确的设置。问题是,当我使用32位驱动程序时,这只适用于我的情况。如此尴尬,现在我们只是将我们的应用程序设置为32位,直到我们解决问题为止。但至少我们有一个解决方法,紧迫感已经减弱。