繁体   English   中英

无法使用SqlConnection连接到任何远程数据库

[英]Cannot connect to any remote database using SqlConnection

我无法从C#连接到特定的SQL Server 2008数据库服务器。

我能够使用SSMS进行连接,然后运行使用查询SQLCMD ,但是当我尝试使用从C#连接SqlConnection它无法打开一个连接SqlException

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

这是我的代码:

using (SqlConnection conn = new SqlConnection(@"Server=LDNPSM050000137\PLN000000014T;Initial Catalog=MiscData;Integrated Security=True;"))
{
    //exception occurs on this line
    conn.Open();

    //use connection

    conn.Close();
}

我使用ODBC得到类似的响应:

string connectionString = @"Driver={SQL Server Native Client 10.0};Server=LDNPSM050000137\PLN000000014T;Database=MiscData;Trusted_Connection=yes;";
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
    connection.Open();
}

这将失败,并显示OdbcExcpetion:

错误[08001] [Microsoft] [SQL Server本机客户端10.0] SQL Server网络接口:错误定位指定的服务器/实例[xFFFFFFFF]。

错误[HYT00] [Microsoft] [SQL Server本机客户端10.0]登录超时已过期

错误[08001] [Microsoft] [SQL Server本机客户端10.0]建立与SQL Server的连接时,发生了与网络相关或特定于实例的错误。 找不到服务器或无法访问服务器。 检查实例名称是否正确以及SQL Server是否配置为允许远程连接。 有关更多信息,请参见SQL Server联机丛书。

我检查了服务器和实例名称是否正确,并且服务器已配置为允许远程连接,因为我可以通过SSMS进行连接。 是否有人对问题可能是什么或如何解决这个问题有建议?

更新:
万一这有助于某人诊断问题-这是我的机器/用户帐户所特有的。 我的同事可以从他的机器上很好地运行代码。 我还可以使用连接字符串连接到本地实例,并对ServerInitial Catalog进行适当的更改。

所有远程数据库服务器都会发生此错误。

我不确定这是否特定于我公司的特定IT基础结构-但这对我不起作用的原因是,该项目保存在存储在网络共享中的“我的文档”中。 显然,当执行代码位于网络共享上时,.NET不允许您连接到远程数据库服务器-当我将项目复制到本地驱动器时,它可以正常工作。 我正在使用Windows 7和Visual Studio 2012。

默认情况下,网络共享具有部分信任,因此当项目位于本地驱动器上时,例如从远程位置连接到远程服务器,将无法从网络位置进行操作。

您可以完全信任网络位置( https://msdn.microsoft.com/zh-cn/library/zdc263t0(VS.80).aspx ),也可以将项目移到本地驱动器上。

我认为问题是您的Connect字符串中的Server值:

MSDN

我认为您需要这样做:

  • 服务器= tcp:LDNPSM050000137 \\ PLN000000014T
  • 服务器= np:LDNPSM050000137 \\ PLN000000014T

取决于要使用TCP还是命名管道...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM