昨天遇到 reason code 2这个错误,找了很久,网上说权限问题,按照处理办法解决后仍然不行,后来发现除了IBM.Data.DB2.dll,还需要拷贝db2app.dll这个文件到bin目录,如果安装了DB2 Data Provide for .NET,这两个dll应该都放到全局程序集中,但是奇怪的是db2app.dll这个dll没有进去,导致找不到这个dll。
开发环境:visual studio 2010
数据库: IBM db2 9.7 for windows
操作系统:windows xp sp3
reason code 2错误提示:
SQL1159 Initialization error with DB2 .NET Data Provider, reason code 2, tokens E:\SourceCode\DB2Test\DB2Test\bin\db2app.dll, , Process Owner: XQUANT-BFAA77C8\Administrator
reason code 10错误提示:
SQL1159 Initialization error with DB2 .NET Data Provider, reason code 2, tokens 0.0.0 E:\SourceCode\DB2Test\DB2Test\bin\db2app.dll
reason code 10的错误,根据tokens返回值提示是由于权限问题,将ASP.NET用户加入到DB2ADMINS用户组,重启IIS解决。参考IBM的官网:
SQL1159 rc=10 when running a DB2 .NET application