2016-10-28 100 views
1

我試圖使用Windows身份驗證(集成安全性)連接到本地MySQL數據庫。我用下面的連接字符串:嘗試使用Windows身份驗證連接到MySQL時出現NullReferenceException

server=localhost;database=mydatabase;integratedsecurity=True 

MySqlConnection.Open()我從某處深裏面得到一個'NullReferenceException異常。這裏是堆棧跟蹤:

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服務器16年5月7日64
  • 連接器/ NET 6.9.9 86
  • C#和Visual Studio 2015年,有針對性地.Net框架4.5.2

這是服務器還是連接器中的錯誤?或者我在連接字符串中有錯誤?

回答

1

Windows身份驗證需要Windows Native Authentication Plugin被安裝並啓用。此功能僅適用於其商業(企業)版本。如果您使用的是社區版,似乎你不能使用此功能,並使用標準的連接字符串:

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

當定義服務器使用您的IP地址。不使用本地主機。

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

MySqlConnection conn=new MySqlConnection(connstr); 
相關問題