C# 使用ADO.NET连接到SQL Azure

C# 使用ADO.NET连接到SQL Azure,c#,ado.net,azure-sql-database,C#,Ado.net,Azure Sql Database,您好,我尝试使用ADO.NET连接到SQL AZURE DB 这是我的密码: private static string userName = "<**@********>"; private static string password = "<********>"; private static string dataSource = "<******.database.windows.net>"; private static string databa

您好,我尝试使用ADO.NET连接到SQL AZURE DB

这是我的密码:

private static string userName = "<**@********>";
private static string password = "<********>";
private static string dataSource = "<******.database.windows.net>";
private static string databaseName = "<******>";

public void Save()
{
    SqlDataReader queryResultCloud;
    string queryString = "select * from tblScan";


    SqlConnectionStringBuilder connString2Builder;
    connString2Builder = new SqlConnectionStringBuilder();
    connString2Builder.DataSource = dataSource;
    connString2Builder.InitialCatalog = databaseName;
    connString2Builder.Encrypt = true;
    connString2Builder.TrustServerCertificate = false;
    connString2Builder.UserID = userName;
    connString2Builder.Password = password;

    using (SqlConnection connection = new SqlConnection(connString2Builder.ConnectionString))
    {
        SqlCommand command = new SqlCommand(queryString);
        command.Connection = connection;
        connection.Open();

        queryResultCloud = command.ExecuteReader();
        connection.Close();
    }

您的代码似乎是正确的。要尝试的一件事是将TrustServerCertificate设置为true,并查看它是否有效。注意:当Encrypt设置为true时,建议将此属性设置为false。但有报道称,这种组合会导致连接问题。我想建议您查看更多信息。此外,请再次检查是否已将SQL Azure防火墙配置为允许连接到本地计算机。如果您在代理之后,则需要将代理的IP地址添加到防火墙例外

致以最良好的祝愿


Ming Xu.

您可能使用了一个代理,该代理不允许到端口1433的出站连接,这是唯一的:

Windows Azure SQL数据库服务仅适用于TCP端口 1433要从计算机访问SQL数据库,请确保防火墙允许TCP端口1433上的传出TCP通信


我也遇到了这种情况,最有希望/最具挑战性的解决方案似乎是这个,但解决方案本身已经过时,需要比我安装的旧版本的VS,因此,我正在寻找其他替代方案。

您是否已将您的IP地址添加到azure中的防火墙规则中?是否可以尝试使用相同的凭据通过Sql Server Management Studio连接?
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)