使用ADO連接到SQL Server的默認實例的C++銷售點應用程序在具有用於網絡連接的無線網卡的平板電腦上使用時失敗。使用無線網卡但連接到LAN的ADO連接到SQL Server失敗。使用lpc:?
當連接LAN電纜時,該應用程序在平板電腦上正常工作。
測試人員發現使用SQL Server的另一個服務器應用程序遇到類似問題,直到他們更改設置以將共享內存連接用於SQL Server實例而不是TCP連接。
,我們正在使用的連接字符串如下:
"Provider=MSDASQL;DRIVER={SQL Server};SERVER=(local);DATABASE=%s;UID=; Password=;"
閱讀此網頁,似乎才能使用共享內存連接,SERVER=(local)
關鍵字需要指定SERVER=lpc:(local)
但我不知道那個。
該網頁是SqlConnection.ConnectionString Property From Microsoft MSDN
有可能SQL Server實例已被配置爲只偵聽某些IP地址,可能只有有線網絡的一個。 – 2012-08-03 22:44:59
謝謝你的建議,以檢查一些東西。我會讓測試團隊研究一下。我們的大多數客戶只是做標準安裝,然後不要碰它。然而,對於這個特定的客戶,部署團隊可能會做一些特殊的事情,作爲無線蜂窩環境中移動銷售終端的一部分。終端返回到倉庫,以便在下次使用時再次使用局域網連接來提取「每日結束」財務數據。 – 2012-08-04 14:31:27
將銷售點應用程序和庫存應用程序的連接字符串更改爲使用SERVER = lpc :(本地)關鍵字/值後,測試團隊在使用無線單元卡時不再出現問題。另見http://stackoverflow.com/questions/11810133/ado-error-16389-with-local-access-sql-server-database-connection-failing-when-u – 2012-08-05 20:55:18