2008-08-27 90 views
4

我试图从32位.Net应用程序中获取DB2数据提供程序连接到作为Vista 64上的32位应用程序运行的DB2(是否足够令人困惑)?不幸的是,我收到以下错误:SQL1159 DB2 .NET数据提供程序初始化错误,原因代码7,令牌9.5.0.DEF.2,SOFTWARE IBM DB2 InstalledCopies

SQL1159 Initialization error with DB2 .NET Data Provider, reason code 7, tokens 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

有几个IBM forum posts提到这一点,但很少有用的指导。有谁之前经历过这个吗?或者你有更好的解决它的想法?

回答

2

是否需要将它作为x86运行?我在Visual Studio的开发Web服务器(这是x86)下有类似的Web应用程序问题,但切换到IIS(x64)为我工作。由于我正在部署到IIS x64,所以我在那个时候称它为一天。

我试图跟踪Filemon和Regmon,但没有得到任何被拒绝或丢失的键错误。如果我再看一遍,我会检查HKLM \ Software \ WOW6432Node,猜测安装程序写入到x64 HKLM \ Software节点,但不是x86节点。

1

我依稀记得在试图建立一个从sql 2005到as/400的链接服务器时,DB2 for as/400 oledb驱动程序有类似的声音问题。这是一个权限问题,我最终发现,只有SQL服务器帐户(不是Windows)可以使用链接服务器,因为(我认为),那么驱动程序使用sql的凭据加载而不是模拟的。如果它运行时“运行”管理员那么它必须是权限。

1

我假设你已经在DB2 Reference Guide中看到了SQL1159的写法?

不幸的是,你的理由代码停留在6,不要继续7.它说:

User response: There was a problem with your DB2 installation. If this is the first time DB2 was installed on this computer, review the install logs for any possible errors and run a repair of DB2 from the Add/Remove Programs control panel applet. The default location of the installation logs is the My Documents/DB2LOG folder of the user that performed the installation. If this does not resolve the issue please contact IBM Support and provide the reason code associated with this message along with any installation logs.

,所以我想尝试重新安装它,如果问题仍然存在,你必须请联系IBM。

对不起,我知道这没什么帮助。

0

我卸载了以前的32位版本,重新安装为64位,现在我得到一个完全不同的错误。它提到要求FP2修复,但由于我使用的是Express-C,我无法安装修复包(IBM不提供免费DB2产品的修复包)。无论如何,感谢您的帮助。至少我现在可以接近连接。 :)

0

我在Windows 2003 x86服务器上也遇到了此错误。本来我的问题是

Unable to find the requested .net framework data provider. it may not be installed.

导致评论认为C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ CONFIG \ machine.config中失踪的DbProviderFactories部分必要的条目。事实上,那里没有IBM DB2条目。当我在一个条目中手动添加时,然后我遇到了你的这个错误,提示更多而不仅仅是编辑machine.config。我直接卸载了IBM DB2驱动程序集,重启系统,重新安装系统,并正确初始化连接。

0

我曾与DB2同样的问题.net提供程序。

如果您有Windows 64位,然后下载并从 _HTTPS安装 IBM数据服务器运行时客户端(AMD的Windows 64)9.5版
://www14.software.ibm.com/webapp/iwm/web/preLogin 。做LANG = EN_US &源= SWG-idsrc11 & S_TACT = appddnet & S_CMP = ibm_im

如果你运行你的程序,你会得到以下异常

未处理的异常:?System.Overflow例外:算术 操作导致溢出。 在IBM.Data.DB2.DB2ConnPool.Open(连接的DB2Connection, StringszConnectionStringIn,DB2ConnSettings & ppSettings,对象& ppConn) 在IBM.Data.DB2.DB2Connection.Open()

下载并安装该修补程序从 http://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

这个DB2版本会解决这个问题。

0

安装DB2 Express-C为Win 64,版本9.7.1 和它的工作

0

我有类似的问题,我的机器是64位。我安装了32位和64位DB2运行时客户,在我的项目目标框架设置为32位,完全为我工作。我能够运行在其它64/32位机器的应用程序,只是他们需要安装无论是32位或从DB2运行时客户端的64位,根据机器的操作系统。

0

是。这应该发生在你的Windows 7中,而不是Windows XP中。该soultion是:

  • 右键单击该项目在解决方案资源管理器中
  • 属性
  • 编译选项卡(左侧)
  • 向下滚动看到高级编译选项按钮
  • 更改下拉目标CPU至86。