我正在嘗試連接到Informix數據庫服務器(v10),並且正在使用Informix Data Provider .NET類庫通過.NET應用程序建立連接並檢索數據。Informix .NET連接字符串
最初,我在本地機器上設置了一個Informix服務器,用這個庫進行一些測試。有趣的是,有兩種情況,其中一種連接字符串起作用,另一種不起作用。
方案1:服務器建立經由協議「drsoctcp」和連接字符串如下連接:
connectionString="Server=my.server.com:9088; Database=mytestdb; User ID=user; Password=mypass; Persist Security Info=True; Authentication=Server;"
上述工程因爲正在使用的協議是「drsoctcp」
場景2:服務器設置爲通過協議'onsoctcp'進行連接,連接字符串與上述完全相同。該連接將無法正常工作,並拋出的錯誤是:
ERROR [08001] [IBM] SQL30081N A communication err or has been detected. Communication protocol being used: "TCP/IP". Communicatio n API being used: "SOCKETS". Location where the error was detected: "fe80::1:10 9:c212:ce44%10". Communication function detecting the error: "recv". Protocol specific error code(s): "", "", "0". SQLSTATE=08001
的「my.server.com」是LAN上識別我的工作機器的名稱。我也嘗試使用本地主機或IP地址(包括127.0.0.1和外部IP地址),但仍然沒有成功。
的真正的問題是在這裏:我希望連接到(這是完全不同的網絡上)Informix服務器可對我來說,通過onsoctcp協議進行連接。
有沒有人設法通過onsoctcp協議與.NET Informix提供程序類連接?
在此先感謝。
是的,我做了。當我嘗試將新參數包含到連接字符串(如主機和協議)時,它將引發一個InvalidArgument異常。我也嘗試遵循IBM的指導方針和文檔http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.netpr.doc/netpr68.htm –
它可能是由於我試圖在我的機器上進行內部連接,因此與連接到外部源時可能需要不同的連接字符串。當連接到外部源時,我會嘗試使用不同的組合 - 看起來這是一個反覆試驗的例子 –
重新安裝客戶端SDK以最小的安裝選項並配置並調整了SetNet32.exe(例如DB和客戶端區域設置),我已經使用了以下連接字符串,它對我來說就像一個魅力: 'Host = 10.81.64.1;服務器=服務器;數據庫= MYDB;用戶ID = myUsername;密碼= myPassword;' 感謝您的幫助:) –