C#不通过MS提供程序DB2OLEDB连接到DB2

C#不通过MS提供程序DB2OLEDB连接到DB2,c#,db2,oledb,C#,Db2,Oledb,我对DB2非常陌生(从今天开始…),我需要连接到我在本地计算机上运行的DB2实例 我安装了DB2CommunityEdition和MicrosoftDB2oleDB提供程序 当我打开DB2对话框时,我可以连接到本地实例(端口50000),如果我打开DB2 command plus窗口,连接也会成功 现在,我创建了一个小型的C#控制台应用程序,它使用OleDBConnection打开与这个本地实例的连接 我尝试了几个连接字符串: Provider=DB2OLEDB;Database=Sample;

我对DB2非常陌生(从今天开始…),我需要连接到我在本地计算机上运行的DB2实例

我安装了DB2CommunityEdition和MicrosoftDB2oleDB提供程序

当我打开DB2对话框时,我可以连接到本地实例(端口50000),如果我打开DB2 command plus窗口,连接也会成功

现在,我创建了一个小型的C#控制台应用程序,它使用OleDBConnection打开与这个本地实例的连接

我尝试了几个连接字符串:

Provider=DB2OLEDB;Database=Sample;Hostname=localhost;Protocol=TCPIP;Port=50000;Uid=....;Pwd=....;

Provider=DB2OLEDB;Network Transport Library=TCPIP;Host=127.0.0.1:50000;Initial Catalog=Sample;User ID=....;Password=....
无论我尝试什么,我总是收到错误:

A TCPIP socket error has occurred (10061): connection could not be established because teh remote computer rejected the connection (<-- translated from german... don't know the exact english error message)

发生TCPIP套接字错误(10061):无法建立连接,因为远程计算机拒绝了连接(请参见以下内容:您实例的db2sysc进程是否真的在侦听端口50000?请在命令行提示符下使用命令
netstat-a-b
验证这一点。如果端口50000未显示为进程db2sysc侦听,请运行命令
db2cwadmin
,并在生成的窗口中运行
db2set-g DB2COMM=TCPIP
(以及您需要的任何其他协议),然后是
db2stop force
db2start
。然后重试连接。如果您可以使用直接与DB2一起工作的ADO.NET提供程序,而不是使用OLEDB作为中间人,那么这将是最佳的,jdweng的链接将应用于此。请签出并使用
DB2Connection
@mao db2syscs.exe正在侦听端口50000用于TCP…@jdweng thx,已找到此链接,但我们当前使用的是MS DB2OLEDB,而不是IBM OLEDB。。。