2017-09-28 316 views
0

VS 2017用戶在這裏。我試圖將C#控制檯應用程序連接到MySQL 5.7。但是沒有建立連接。一個建議的解決方案是查看未聲明的對象,但我不認爲這是這種情況。請告知是否。MySQL C#連接到localhost:'System.NullReferenceException'

MySqlConnection conn; 
string connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString; 

public Connection() 
{ 
    conn = new MySqlConnection(connStr); 
} 

<connectionStrings> 
<add name="myConnectionString" 
    connectionString="server=localhostdatabase=store;user=root; 
    password=pass;port=3306" /> 
</connectionStrings> 

如果我在調試器中運行此我得到conn後續信息:

IsPasswordExpired' threw an exception of type 'System.NullReferenceException' 
ServerThread' threw an exception of type 'System.NullReferenceException' 
ServerVersion' threw an exception of type 'System.NullReferenceException' 

有(我很少要在此發現,只是在設置密碼一年前不真的相信會導致這個問題),還有一些人通過重新安裝MySQL服務器來解決這個問題。我這樣做,無濟於事。

從命令行一切工作正常。

+1

可能重複[什麼是NullReferenceException,以及如何解決它?](https://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-doi-i-fix - ) – Progman

+0

對不起,第二個公共連接()不應該在那裏 – ADBF

+1

感謝progman的參考,但原因表明,通常有對象之前沒有宣佈使用,我不認爲這是在這裏的情況。 – ADBF

回答

0

如果您確認您的密碼已過期,您可以嘗試創建或更改:

CREATE USER 'jeffrey'@'localhost' PASSWORD EXPIRE NEVER; 
ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE NEVER; 

你的嚮導是here

+0

感謝紅人花時間回答我。請看我上面的評論。現在將在我的石頭下爬回來。 – ADBF