我在云机器上的 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())。无效的连接。
-- works perfect with ado.net
Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx
其他一些客户端应用程序(不是我的)是用 oledb 连接编写的,所以我需要它们将数据库与 oledb 提供程序连接起来。
有任何想法吗?
问候, 默特