2

我无法使用 Windows 身份验证通过 C# 连接到服务器。使用

在远程计算机上使用 MS ODBC 数据源管理器,我执行以下步骤:

  1. 使用 SQL Server Native Client 11.0 创建新数据源。
  2. 输入我的连接名称并将服务器/实例添加到服务器,单击下一步
  3. 选择使用 Windows 集成身份验证。SPN(可选)留空,然后单击下一步
  4. 选中将默认数据库更改为并单击下拉菜单以选择数据库,它会按应有的方式列出数据库,因为连接有效。

当我尝试使用我的 C# 应用程序进行连接时:

System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的未处理异常

附加信息:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

当我尝试在机器上使用带有 sql server 的应用程序时,它连接正常。

这是简单的连接代码:

SqlConnection conn = new SqlConnection("Data Source=servername\\instancename;Initial Catalog=databasename;Integrated Security=SSPI;");
conn.Open();

servername、instancename 和 databasename 都是正确的。启用 tcp/ip、命名管道、远程连接(请记住,ODBC 管理员连接没有问题),但就是无法让我的应用程序连接。任何帮助将不胜感激,谢谢!

4

1 回答 1

2

我已经想通了。服务器是 32 位服务器,我将 VS2012 编译到任何 CPU。将其更改为 x86,它可以完美运行。

于 2013-10-16T14:35:47.640 回答