【发布时间】:2014-04-18 23:34:39
【问题描述】:
我有一个 C# 程序来连接到 SQL Server。它在使用 SQL Server 2012 的测试计算机上运行良好,但在使用 2008 的生产环境中无法正常运行。在生产环境中,它会报告异常,
未处理的异常:System.Data.SqlClient.SqlException:网络相关或在 建立与 SQL Server 的连接时发生特定于立场的错误。钍 找不到或无法访问服务器。验证实例名称是否为 c orrect 并且 SQL Server 配置为允许远程连接。 (提供者: 命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)-- -> System.ComponentModel.Win32Exception: 访问被拒绝
这是我的连接代码,
connStrSql = "Server=" + sqlserver + "; Database=" + sqldb + "; Trusted_Connection=True";
SqlConnection sqlConn = new SqlConnection(connStrSql)
sqlConn.Open();
目标平台是x86,目标框架是4.5。有趣的是,Excel 和 ODBC 配置可以毫无怨言地连接到数据库。 C# 程序是否使用不同的方式连接到 SQL Server?我该如何解决这个问题?
【问题讨论】:
-
您是否正在尝试远程连接到 SQL Server?
-
是的,我应该尝试不同的网络库,比如 tcp,而不是默认的命名管道?
-
好的。 Excel 对 SQL Server 来说是远程的还是本地的?
-
Excel 也是远程的。 Excel 和我的程序在同一台计算机上,但 sqlserver 在另一台服务器上。
-
有不同的客户端协议可用于连接到 SQL Server。这些可以启用/禁用。您知道生产 SQL Server 启用了哪些客户端协议吗? View 可以通过 Sql Server 配置管理器进行检查。
标签: c# excel sql-server-2008 ado.net sql-server-2012