2016-05-12 19 views
0

私のデータベースに接続するためにapp.configファイルから接続文字列を使用しています。また、SqlCOnnectionStringBuilderがapp.configファイルから情報を取得するように、より安全にしようとしました。あなたは私が何を意味するかの良いアイデアを与えるためには、ここでいくつかのコードです:SqlConnectionStringBuilderが間違ったデータを使用しています

のapp.config:

<connectionStrings> 
    <clear/> 
    <add name="connection" 
     connectionString="Data Source=SERVERIP; Initial Catalog=DB; 
         Port=3306; User ID=USERNAME; Password=PASSWORD;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

接続ビルダーのための方法:

private void BuildConnectionString() 
    { 
     ConnectionStringSettings settings = 
      ConfigurationManager.ConnectionStrings["connection"]; 

     if (null != settings) 
     { 
      MySqlConnectionStringBuilder builder = 
       new MySqlConnectionStringBuilder(settings.ConnectionString); 

      conString = builder.ConnectionString; 
     } 
    } 

どういうわけか、ユーザIDがで置き換えられますIP、ポート、および最初のカタログが置き換えられていないので、非常に嫌な私のコンピュータの名前。

OhおよびI followed this handy article here on MSDN

ここで間違っていることを教えてもらえますか?

EDIT:

を型 'MySql.Data.MySqlClient.MySqlException' の未処理の例外がMySql.Data.dll

で発生しました追加情報:ここでは は私が取得しています完全なエラーです:ホスト 'nameofpc'はこのMariaDBサーバーに接続することができません

+1

私はMySqlを使用しませんが、接続文字列がMSSQLプロバイダを使用している可能性があります。正しいプロバイダを使用するか、文字列をconnectionStringsセクションの代わりに通常のappSettingに入れてみてください。 – Crowcoder

+0

あなたはCrowcoderを意味しますか?とstuartd、それはあまりしなかった –

+0

@ B.Hulshof、なぜあなたもビルダーが必要ですか?それは冗長なようだ。ちょうど 'conString = settings.ConnectionString;を試してください。 – Crowcoder

答えて

-2

MariaDBサーバーは特定のホストからの着信接続のみを受け付けているようです。ほとんどの場合、サーバーはローカルホスト接続のみを受け入れるようにデフォルト設定されています。このリンクは参考になると思います:https://mariadb.com/kb/en/mariadb/configuring-mariadb-for-remote-client-access/

+0

これはエラーを引き起こしていません –

+0

私が言及した原因に彼が正確にポイントを得ているときに、この回答は、どのように逆らっていますか? – Zalomon

+0

あなたはグーグルにあなたが得たエラーはありましたか? – Zalomon

関連する問題