【发布时间】:2012-03-11 18:57:59
【问题描述】:
我在云计算机上的 Windows 2008 服务器上安装了一个正常工作的 SQL Server 2008 R2 Express。来自多个客户端应用程序的所有类型的连接(ado.net、nhibernate 等)都可以正常工作,但 OLEDB 除外。 SQL Native Client 也可以正常工作。
当我尝试从本地服务器连接并作为数据源写入实例名称时,一切正常。但是从外面看,我有问题,或者如果我写 wan ip 或 dns,我也有来自本地的问题。
-- works perfect from everywhere
Provider=SQLNCLI10;Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx;
-- does not work from anywhere
Provider=SQLOLEDB.1;Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx;
-- works only from local
Provider=SQLOLEDB.1;Data Source=flz001\sqlexpress;User ID=xxx;Password=xxx;
错误:[DBNETLIB][ConnectionOpen (Invalid Instance()).Invalid 连接。
-- works perfect with ado.net
Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx
其他一些客户端应用程序(不是我的)是使用 oledb 连接编写的,因此我需要它们将数据库与 oledb 提供程序连接。
有什么想法吗?
问候, 默特
【问题讨论】:
-
你试过用IP代替名字吗?也尝试将
;Network=DBMSSOCN添加到连接字符串?我也很困惑 - 这是命名实例 (\sqlexpress) 还是默认实例?您的连接字符串相互矛盾。 -
嗨 Aaron,我也尝试过 IP 和添加网络属性,但仍然无法正常工作。在 Properties - Name 在 management studio 中写入 FLZ001\SQLEXPRESS 所以我猜它是一个命名实例(由客户安装)。我尝试了连接字符串的所有可能性,因此它们可能相互矛盾。
标签: connection oledb sql-server-express sql-server-2008r2-express