我在云计算机上的Windows 2008服务器上安装了可正常工作的SQL Server 2008 R2 Express。来自多个客户端应用程序的所有类型的连接(ado.net,nhibernate等)都可以很好地工作,除了OLEDB之外。 SQL Native Client也可以正常工作。来自外部的SQL Server 2008 OLE DB连接失败
当我尝试从服务器本地连接并作为数据源写入实例名称时,一切正常。但是从外面看,我遇到了问题,或者如果我写入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;
Error: [DBNETLIB][ConnectionOpen (Invalid Instance()).Invalid connection.
-- works perfect with ado.net
Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx
一些其他的客户端应用程序(不是我)与OLEDB连接写的,所以我需要他们来连接与OLEDB提供商的分贝。
任何想法?
问候, 梅特
您是否尝试使用IP而不是名称?也尝试添加'; Network = DBMSSOCN'到连接字符串?我也很困惑 - 这是一个命名实例('\ sqlexpress')还是一个默认实例?你的连接字符串是相互矛盾的。 – 2012-02-21 14:12:14
嗨亚伦,我也试过IP和添加网络属性,但仍然无法正常工作。在属性 - 名称在管理工作室中写入FLZ001 \ SQLEXPRESS,所以我猜它是一个命名实例(由客户安装)。我尝试了连接字符串的所有可能性,以便它们可能相互矛盾。 – mece 2012-03-12 15:26:09