如何进行类连接以连接到远程数据库?

时间:2011-04-26 19:50:29

标签: c# .net connection database-connection connection-string

我有类连接,但它不起作用。它确实在同一网络(Intranet)中工作,但它不能在Internet上运行。

这是一个SQL Server - 我有一个用户,一个传递 - 这个私有的ip,公共IP是189.148.67.149

我已将SQL Server配置为接受tcp / ip,但该应用程序不起作用:

  

与服务方SQL Server的连接稳定下来时,与特定网络或实例相关的错误。不是仆人,也不是这个仆人。它验证实例的名称是否正确,并且形成SQL Server以允许远程连接。 (提供者:TCP供应商,错误:0 - 连接尝试期间发生错误,因为连接部分在一段时间后没有适当响应,或者由于主机连接未发生连接已发生错误能够回应。)

我用http://es.babelfish.yahoo.com/translate_txt用西班牙语(我的语言)翻译了

  

错误的关系错误,例如,错误的转发服务器SQL Server。没有任何建筑物可供使用的服务。 Compruebe que el nombre de la instancia es correcto y que SQLServerestáconfiguradopara admitir conexiones remotas。 (提供者:Proveedor de TCP,错误:0 - Se produjo un error durante el intentodeconexiónyaque la parte conectadanoreponsdióadecuadamentetras un periodo de tiempo,o bien se produjo un error enlaconexiónestablecidaya que el host conectado no ha podido responder。)

class Conexion
{
     public SqlConnection conectar()
    {
        //my pc is called alumno-auc
        SqlConnection con = new SqlConnection(@"Data Source=192.168.1.82,1433;Initial Catalog=misnotas;Persist Security Info=True;User ID=login2; Password=login2; Asynchronous Processing=True;TrustServerCertificate=False;Network Library=dbmssocn;Workstation ID=alumno-auc;User Instance=False"); 
        return con;
    }

    public void EjecutarConsulta(SqlCommand comando)
    {
        comando.Connection.Open(); // abrimos la conexion
        comando.ExecuteNonQuery(); // ejecutamos la consulta
        comando.Connection.Close(); // y cerramos la conexion
    }
}

3 个答案:

答案 0 :(得分:1)

这里有很多可能性。

  1. SQL Server端口未在相关服务器上打开。
  2. SQL Server实例使用非标准端口。
  3. SQL Server实例未启用SQL Browser服务,因此它不接受远程连接。
  4. 您的连接协议错误。
  5. 我相信我可以在更长的时间内考虑其他人。

答案 1 :(得分:1)

服务器和公共互联网之间是否有防火墙?您是否必须更改防火墙规则或端口转发以允许公共访问?你在机器上运行软件防火墙吗?有关Sql Express的Windows 7中的Windows防火墙的信息,请参阅http://www.sevenforums.com/system-security/58817-remote-access-sql-server-express-2008-windows-7-a.html

此问题排查指南应该会有所帮助 - http://blogs.msdn.com/b/sql_protocols/archive/2008/04/30/steps-to-troubleshoot-connectivity-issues.aspx

您确定要在公共互联网上使用SQL服务器吗?如果你这样做,你真的必须知道如何管理你的安全。通常不建议这样做。

我尝试使用您提供的信息附加到您的服务器,我从SQL Server Management Studio 2008收到以下错误:

  

TITLE:连接到服务器

     

无法连接到189.148.67.149。

     

------------------------------附加信息:

     

与网络相关或特定于实例的   建立一个错误时发生错误   连接到SQL Server。服务器   没找到或无法访问。   验证实例名称是否为   正确和SQL Server是   配置为允许远程   连接。 (提供者:命名管道   提供者,错误:40 - 无法打开   连接到SQL Server)(Microsoft   SQL Server,错误:53)

     

如需帮助,请点击:   http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=53&LinkId=20476

     

------------------------------按钮:

     

确定

答案 2 :(得分:1)

可在www.unlocalize.com找到原始英文异常消息以及指向现有解决方案的若干链接。