我正在使用MVC方法并尝试连接到DB2。我已经使用Mysql成功获得了连接字符串,但是当我要连接到DB2时出现了以下错误消息:
Exception thrown: 'System.ArgumentException' in IBM.Data.DB2.dll
An exception of type 'System.ArgumentException' occurred in IBM.Data.DB2.dll but was not handled in user code
Invalid argument
错误出现在我的连接字符串代码上:
string constr = ConfigurationManager.ConnectionStrings["ConnStringDb2"].ConnectionString;
using (DB2Connection con = new DB2Connection(constr))
这是我从web.config中设置的连接字符串
<connectionStrings>
<add name="ConnStringDb2" connectionString="DATABASE=DB;HOSTNAME=Myhost;PORT=50000;UID=user;PWD=pass;" />
</connectionStrings>
我已经安装了以下内容:
IBM data client
IBM database add-ins
是否有我缺少的项或需要添加到我的连接字符串中的项,或者我的连接格式无效?任何建议和意见。 TIA。
答案 0 :(得分:0)
根据DB2 connection string list,HOSTNAME
和PORT
的配置用于OLE DB提供程序。为了使用.NET Framework数据提供程序,您应该尝试以下配置之一:
<!-- using hostname -->
<add name="ConnStringDb2" connectionString="SERVER=Myhost:50000;DATABASE=DB;UID=user;PWD=pass;" />
<!-- using server's IP address -->
<add name="ConnStringDb2" connectionString="SERVER=xxx.xxx.xxx.xxx:50000;DATABASE=DB;UID=user;PWD=pass;" />
如果当前使用的是OLE DB提供程序,则必须设置用于连接的DB2提供程序名称和协议:
<add name="ConnStringDb2" connectionString="PROVIDER=IBMDADB2;DATABASE=DB;HOSTNAME=Myhost;PORT=50000;PROTOCOL=TCPIP;UID=user;PWD=pass;" />