无法使用C#远程连接到SQL Server Express 2008 - 但Windows ODBC管理员可以正常工作

时间:2013-10-16 14:25:44

标签: c# sql-server sql-server-2008

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

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

  1. 使用SQL Server Native Client 11.0创建新数据源。
  2. 输入我的连接名称并将服务器/实例添加到服务器,单击“下一步”
  3. 选择使用Windows集成身份验证。 SPN(可选)留空并单击“下一步”
  4. 检查将默认数据库更改为并单击下拉列表以选择数据库,它会按原样列出数据库,因为连接有效。
  5. 当我尝试使用我的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管理员连接没有问题),但只是无法让我的应用程序连接。非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:2)

我已经弄清楚了。服务器是一个32位服务器,我有VS2012编译到任何CPU。将其更改为x86,效果非常好。