天蓝色连接字符串c#

时间:2017-07-20 12:48:58

标签: c# mysql azure

我正在尝试打开与Azure SQL数据库的连接。尝试创建通常的connection = new MySqlConnection("Server=" + server + "Database=" + database + "Uid=" + uid + "Password=" + password);,每个字符串变量以;结尾;但即使数据正确,它也始终无法连接。尝试使用ADO.NET的给定字符串,但后来我得到异常"不支持关键字"。我不知道实际上还有什么......尽可能多地使用Google搜索,但所有解决方案都完全相同,但对我来说没有任何效果:/

5 个答案:

答案 0 :(得分:2)

首先,azure数据库不使用mysql。所以使用MySqlConnection()将无效。

改为使用

SqlConnection connection = new SqlConnection(connectionstring);

标准连接字符串的格式应为

Server=tcp:[serverName].database.windows.net;Database=myDataBase;
User ID=[LoginForDb]@[serverName];Password=myPassword;Trusted_Connection=False;
Encrypt=True;

请参阅https://www.connectionstrings.com/sql-azure/了解更多选项

答案 1 :(得分:0)

var connectionString = @"Server=tcp:<dbname>.database.windows.net,1433;Initial Catalog=<databasename>;Persist Security Info=False;User ID=<userid>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;";

我如何连接到我的Azure SQL数据库,对我有用。

答案 2 :(得分:0)

标准.Net Framework提供程序格式为:

Server=[serverName].database.windows.net;Database=myDataBase;
User ID=[LoginForDb]@[serverName];Password=myPassword;Trusted_Connection=False;
Encrypt=True;

Azure SQL数据库是SQL Server类型的数据库,而不是MySQL!

答案 3 :(得分:0)

您是否已经拒绝了微软的指示?

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-connect-query-dotnet-visual-studio

您还必须在azure上创建服务器级防火墙规则,以便能够连接。

答案 4 :(得分:0)

对于MySQL In App,您可以在c#中使用同伴代码来获取连接字符串:

    static string getConnectionString()
    {
    #if DEBUG
        string connectionString = "dbname=localdb;host=localhost:3306;user=root;pass=password;";
    #else
        string connectionString = Environment.GetEnvironmentVariable("MYSQLCONNSTR_localdb");
    #endif
        string[] options = connectionString.Split(";");
        string database = options[0].Split("=")[1]; ;
        string serverport = options[1].Split("=")[1];
        string server = serverport.Split(":")[0];
        string port = serverport.Split(":")[1];
        string user = options[2].Split("=")[1];
        string password = options[3].Split("=")[1]; ;

        connectionString = $"server={server};port={port};database={database};user={user};password={password};";

        return connectionString;
    }