当我发布项目时,客户端将需要能够设置初始配置,其中一部分是 Sql 数据库连接。我的系统上运行着一个 Sql Server 2008 实例 (MSSQLSERVER2008) 以及 SQLEXPRESS2005。我试图在本地使用以下连接字符串只是为了看看这是否有效,但我无法让它工作:

ConnectionString = {Data Source=127.0.0.1;Initial Catalog=DCOMProductionsDesktop;Integrated Security=False;User ID=DCOMProductionsDesktopService;Password=;Network Library=dbmssocn}

我得到的错误是通常的“目标机器主动拒绝连接”。

*没有任何防火墙在网络内部运行,无论如何 *启用了TCP/IP协议 *启用并允许远程连接

所以,我很困惑。

编辑

我将连接字符串的数据源更改为:

DataSource=192.168.0.2\MSSQLSERVER2008 on my WinXP VM (for testing remotely)

现在,这确实起作用了。但是,当我在互联网上部署它时,相同的连接字符串是否适用于使用以下域名的网络外部的客户端:

DataSource=desktop.dcomproductions.com\MSSQLSERVER2008

或者我需要做一些不同的事情吗?

有帮助吗?

解决方案

只要“desktop.dcomproducts.com”或其他任何内容解析为正确的 IP 地址,它就可以工作。因此,应该在公共或私有 DNS 上正确设置该名称。

另外,请确保它解析为公共/外部 IP 地址,除非您的客户端脚本与 SQL 服务器位于同一网络中。

我以为我将其发布为答案,而不是评论:)

其他提示

我已经有一段时间没有使用除命名管道之外的任何东西来连接到 SQL Server 实例了,因此这可能不相关,但请尝试将数据源更改为服务器。

正如我所说,它们可能是同义词,已经有一段时间了。

此外,即使您使用 IP 地址,您也没有指定要连接的 sql server 实例,这也可能会导致问题

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top