SQL1159 DB2 .NET数据提供程序初始化错误,原因码7,令牌9.5.0.DEF.2,SOFTWARE \ IBM \ DB2 \ InstalledCopies

时间:2020-03-05 18:43:37  来源:igfitidea点击:

我试图从32位.Net应用程序中获取DB2数据提供程序,以连接到在Vista 64上作为32位应用程序运行的DB2(这是否足够令人困惑)?不幸的是,我收到以下错误:

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

有几篇IBM论坛文章提到了这一点,但几乎没有有用的指导。有谁之前经历过这个吗?还是我们有更好的解决方案?

解决方案

回答

我隐约记得在尝试设置从sql 2005到as / 400的链接服务器时,DB2 for as / 400 oledb驱动程序存在类似的听起来问题。这是一个权限问题,我最终发现只有sql服务器帐户(而不是Windows)可以使用链接服务器,因为(我认为)然后驱动程序使用sql的凭据而不是模拟的凭据进行加载。如果在以"管理员身份运行"时有效,则必须具有权限。

回答

我假设我们已经在《 DB2参考指南》中看到了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。

抱歉,我知道这没有太大帮助。

回答

我们是否要求将其作为x86运行?我在Visual Studio开发的Web服务器(x86)下使用Web应用程序时遇到了类似的问题,但是切换到IIS(x64)对我来说却很有效。自从我将其部署到IIS x64以来,我就将其称为"一天"。

我尝试使用Filemon和Regmon进行跟踪,但是没有遇到任何被拒绝或者丢失的键错误。如果要再次查看,我会检查HKLM \ Software \ WOW6432Node,猜测安装程序将写入x64 HKLM \ Software节点,而不是x86节点。

回答

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

回答

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

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

这导致注释c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config缺少DbProviderFactories部分的必要条目。实际上,那里没有IBM DB2条目。当我手动添加条目时,我遇到了错误,这提示我们不仅在编辑machine.config。

甚至我还是卸载了IBM DB2驱动程序集,重新启动了系统,重新安装了它,并使它正确地初始化了连接。

回答

简要说明一下...

@Micheal:SQL1159的链接是到9.1版文档的链接
版本9.5文档升至原因码9
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql01159n.html

不幸的是,我认为这里有第十个原因代码未记录,但是它在developerWorks主题中。
http://www.ibm.com/developerworks/wikis/display/DB2/DB2+and+.NET+FAQ#DB2and.NETFAQ-WhatisSQL11InitializationError%3F

回答

我对DB2 .net提供程序有同样的问题。

如果我们使用的是Windows 64位,请下载并安装
IBM Data Server Runtime Client(Windows AMD 64)版本9.5

_https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang = zh_CN&source = swg-idsrc11&S_TACT = appddnet&S_CMP = ibm_im

如果我们运行程序,则会出现以下异常

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

从以下位置下载并安装针对db2版本的修复程序:
http://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

这样可以解决问题。

回答

为Win x64版本9.7.1安装DB2 Express-C
它会工作