2

我有一些在专用服务器上运行的 asp.net Web 应用程序。对于其中一个网站,我正在执行一项维护任务,将所有用户上传的图像升级为新的命名约定。

我编写了一个小而简单的控制台应用程序来完成这项工作。我将连接字符串放在我的 app.config 中,如下所示:

<add key="CS" value="Data Source=1.1.1.1;Initial Catalog=MyDatabase;User ID=usr; Password=pwd" />

当然,这里的细节是虚拟的,它们实际上并不是MyDatabase等等......但我确实使用 IP 地址连接到 sql 服务器

我所有的 Web 应用程序都具有相同的格式,web.config文件中的相同细节,除了数据库名称。一切正常。

我可以从本地开发机器上运行控制台应用程序,使用生产数据库,它连接良好,没问题。(成功在测试数据库上运行测试查询)

现在,我需要访问硬盘来重命名文件等......所以我想在服务器上运行这个控制台应用程序......我将应用程序 FTP 到我的服务器并尝试在那里运行它......它错误地说:

A network-related or instance-specific error occurred while establishing
a connection to SQL Server. The server was not found or was not accessible. 
Verify that the instance name is correct and that SQL Server is configured 
to allow remote connections. (provider: SQL Network Interfaces,
error : 26 - Error Locating Server/Instance Specified)

就像我之前提到的,相同的连接在我的开发机器上运行良好,只有当我尝试在服务器中运行控制台应用程序时才会发生这种情况。

我试过搜索,但在任何地方都找不到类似的案例……尤其是。因为我所有使用相同值的 Web 应用程序都可以正常工作。我是否需要告诉应用程序使用某些东西?

非常感谢

4

1 回答 1

1

Web 服务器和数据库服务器是否在同一台机器上?

无论如何,在 Web 服务器上打开命令提示符并执行以下操作:

telnet <ip>, 1433

这假设您在标准端口上运行 SQL Server,如果不是,请进行相应更改。

查看是否可以通过 telnet 连接到数据库服务器,有助于确定是否存在防火墙/基本连接问题。

于 2012-10-23T13:16:24.600 回答