c# - 控制台应用程序无法从服务器连接到 sql server 实例,但可以从本地计算机连接

标签 c# sql-server sql-server-2008-r2 console-application

我有几个在专用服务器上运行的 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 server

我的所有 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 应用程序都可以正常工作。我需要告诉应用程序使用某些东西吗?

非常感谢

最佳答案

Web服务器和DB服务器在同一台机器上吗?

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

telnet <ip>, 1433

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

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

关于c# - 控制台应用程序无法从服务器连接到 sql server 实例,但可以从本地计算机连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13031112/

相关文章:

sql-server - 如果 channel 受 SSL 保护,为什么会显示 tcp?

database - SQL Server 2008 R2 VB.net 连接

c# - 我可以通过引用传递锁定对象吗?

c# - 如果数字不是 double 值,则无法显示最多两位小数值的 double 类型值

c# - UWP:语言的资源文件未正确部署

c# - 创建对 SQL Server C# 的查询

c# - “IndexOutOfRangeException was unhandled”

SQL Server 在子字符串中使用条件

sql-server - 为我的复制发布者查找快照作业的脚本

sql - 没有交叉连接的未售出产品查询?