C# 来自C的DB2连接#

C# 来自C的DB2连接#,c#,.net,database,web-services,db2,C#,.net,Database,Web Services,Db2,我正在使用.NET服务提供程序IBM.DATA.DB2.dll(应用程序是一个从DB2数据库获取详细信息的web服务)从.NET(C#)连接到DB2数据库。我已经安装了DB2运行时客户端并配置了ODBC,连接成功 当我试图在.NET代码中打开一个DB2连接对象时,出现了一个找不到DB2APP.dll的错误。dll在DB2运行时客户机安装路径中可用,但它在bin文件夹中搜索。(我把它复制到了本地机器上,尽管它不正确),它需要一个新文件db2nmp.xml,该文件也可以在运行时客户端安装路径中找到,

我正在使用.NET服务提供程序
IBM.DATA.DB2.dll
(应用程序是一个从DB2数据库获取详细信息的web服务)从.NET(C#)连接到DB2数据库。我已经安装了DB2运行时客户端并配置了ODBC,连接成功

当我试图在.NET代码中打开一个DB2连接对象时,出现了一个找不到
DB2APP.dll
的错误。dll在DB2运行时客户机安装路径中可用,但它在bin文件夹中搜索。(我把它复制到了本地机器上,尽管它不正确),它需要一个新文件db2nmp.xml,该文件也可以在运行时客户端安装路径中找到,但应用程序正在“/WebService ProjectFolder/msg/en_US/db2nmp.xml下查找”。我也复制了它,并且能够连接到DB2。(我显然认为这是不对的)


我的问题是如何强制.NET在DB2运行时客户机安装文件夹中查找,而不是在web服务项目文件夹中搜索?我尝试了所有可能的方法,但仍然找不到答案。请帮忙

我们使用DB2,ISeries安装在GAC中注册IDM.DATA.DB2程序集。()

如果您转到
c:\windows\assembly
,您将看到已注册的程序集,它们应该是这样的:

使用
IBM2.Data.Db2.Iseries
引用应该足以执行数据库作业。
它应该找到所需的任何参考资料在GAC注册。

也许这会帮助你:,尽管我不得不说:你为什么不把这些文件包括在你的项目中?如果由于某种原因,db2客户机的应用程序路径发生了更改(例如重新安装),那么您将遇到问题。我认为我们不需要在config中的运行时绑定中提供它。我看到了我们使用的连接到DB2数据库的其他应用程序的源代码,它们没有运行时绑定。他们只添加了对IBM.DATA.DB2.dll的引用。在引用的属性页上还有一个选项“Copy local”。如果将其设置为“true”,则会将其复制到输出文件夹。如果你不想这样,卡洛斯的建议很好。嗨,卡洛斯·兰德拉斯和@Stefan,谢谢你的回复。这个问题现在已经解决了。以下是我所做的事情清单,我认为这些事情解决了这个问题。i) 首先将内置的ASPNET服务帐户(IIS帐户)添加到DB2USERS和DB2ADMNS组ii)中;其次,我重新安装了DB2运行时客户机。[我手动安装了它,而不是通过软件门户安装它。(我们有一个门户,可以在其中请求软件并自动安装)]。谢谢我很高兴你终于修好了@ArunG;)