使用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