2016-10-28 6 views
1

Windows認証(統合セキュリティ)を使用してローカルMySQLデータベースに接続しようとしています。私はどこか心の奥底から `とNullReferenceExceptionを取得MySqlConnection.Open()Windows認証でMySQLに接続しようとするとNullReferenceExceptionが発生する

server=localhost;database=mydatabase;integratedsecurity=True 

:私は、次の接続文字列を使用します。ここでは、スタックトレースは次のとおりです。

at MySql.Data.MySqlClient.Authentication.MySqlNativePasswordPlugin.MoreData(Byte[] data) 
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationChange() 
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.HandleAuthChange(MySqlPacket packet) 
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset) 
at MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset) 
at MySql.Data.MySqlClient.NativeDriver.Open() 
at MySql.Data.MySqlClient.Driver.Open() 
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) 
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() 
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() 
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() 
at MySql.Data.MySqlClient.MySqlPool.GetConnection() 
at MySql.Data.MySqlClient.MySqlConnection.Open() 

私のセットアップに関するいくつかの詳細:

  • のWindows 10のx64
  • MySQLサーバ5.7.16 x64の
  • コネクタ/ NET 6.9.9 x86の
  • Visual Studio 2015で.NET Framework 4.5.2をターゲットとするC#

これはサーバーまたはコネクターのバグですか?または、接続文字列にエラーがありますか?

答えて

1

Windows認証には、Windows Native Authentication Pluginをインストールして有効にする必要があります。また、この機能は商用(エンタープライズ)版でのみ利用可能です。あなたはコミュニティのバージョンを使用している場合、あなたがこの機能を使用すると、標準の接続文字列を使用できないようです:サーバーを定義するときに

server=server_address;uid=user_id;pwd=password;port=mysql_port;database=your_database 
0

は、あなたのIPアドレスを使用します。 localhostを使用しないでください。

connstr=[ip adress];database=mydatabase;uid=[uid];password=[password]; 
integratedsecurity=True 

MySqlConnection conn=new MySqlConnection(connstr); 
関連する問題