2017-07-16 8 views
0

AWS RDS MySQLデータベースに接続する必要があるXamarin.Macアプリケーション(C#)をビルドしています。私の接続文字列はフォーマットである認証局を使用してC#からRDS MySQL DBに接続するにはどうすればよいですか?

using (SqlConnection connection = new SqlConnection(ConnectionString)) 
      { 
       connection.Open(); 
       using (SqlCommand command = new SqlCommand("SELECT * FROM store", connection)) 
       using (SqlDataReader reader = command.ExecuteReader()) 
       { 
        while (reader.Read()) 
        { 
         Console.WriteLine("{0} {1} {2}", 
          reader.GetInt32(0), reader.GetString(1), reader.GetString(2)); 
        } 
       } 
      } 

ConnectionString = "Server={0};Database={1}Uid={2};Pwd={3}"; 

しかし、私は接続することができないよう

私は、コードを持っています。しかし、MySqlWorkbenchを使用して同じホストと資格情報を使用しても、うまく接続できます。私は、自分のRDSインスタンスが認証局をに設定してビルドしていることを確認しました(にはオプションがありません。これはに設定されています)。

上記のC#コードを使用してこのRDS DBに接続するにはどうすればよいですか?

答えて

0

私が当初考えていたように、認証局と関係があります。

しかし、解決策を見つけるのに長い時間がかかったので、私は答えを投稿したいと思っていました。他の開発者はうまくいけばうまくいきます。

だから、OSXアプリケーションを構築するためにXamarin.Macを使用している他の開発者のために、あなたはXamarin.Mac .NET 4.5 Frameworkを使用するようにプロジェクトを設定するが必要。これはではありません新しいOSXプロジェクトを開始するときのデフォルトなので、変更してパッケージをリターゲットする必要があります。そして、単にNuGetパッケージMySql.Dataを追加し、あなたに接続コードを更新します。その後の魅力のような

using (MySqlConnection connection = new MySqlConnection(ConnectionString)) 
     { 
      connection.Open(); 
      using (MySqlCommand command = new MySqlCommand("SELECT * FROM store", connection)) 
      using (MySqlDataReader reader = command.ExecuteReader()) 
      { 
       while (reader.Read()) 
       { 
        Console.WriteLine("{0} {1} {2}", 
         reader.GetInt32(0), reader.GetString(1), reader.GetString(2)); 
       } 
      } 
     } 

作品。

関連する問題