簡體   English   中英

SqlConnection.Open上的InvalidOperationException

[英]InvalidOperationException on SqlConnection.Open

我正在設計一個小型IRC機器人,該機器人將用於聊天中的游戲。

源,程序和SQL連接的詳細信息永遠不會向公眾公開,因此我不必擔心安全性。

我的連接字符串如下:

"Server=sql.mydomain.com,3306;Database=sqldatabasename;User id=sqlusername;Password=sqlpassword;"

不用說,我已經在這里混淆了細節。 在四處搜尋並找到http://www.developerfusion.com/tools/sql-connection-string/之后,我用它來生成此字符串:

"Data Source=sql.mydomain.com,3306;Initial Catalog=sqldatabasename;Integrated Security=False;User ID=sqlusername;Password=sqlpassword;"

在這兩種情況下,我都嘗試使用以下代碼打開連接:

using (var sql = new SqlConnection(connectionString))
{
    sql.Open();
    //SQL operations here
}

但是我每次都在sql.Open()上收到InvalidOperationException。 我絕對可以確定我要輸入的連接字符串的詳細信息是正確的,並且根據我在google上找到的信息,最可能導致異常的原因似乎是連接字符串,所以我不確定我做錯了。

編輯:異常的消息只是“內部連接致命錯誤”。 根據MSDN,SqlConnection.Open上的InvalidOperationException只能表示2之1:連接字符串中未提供服務器或數據源,或者連接已打開。

我假設如果服務器或數據源無效,第一個也可以觸發,因為我嘗試用以下方法打開它:

if (sql.State != ConnectionState.Open) sql.Open();

而且我仍然收到錯誤。

進行了一些搜索,您的字符串似乎很完美。 甚至將我的字符串更改為完全屬於您的字符串,並在這里起作用。 我唯一能找到的就是這個,但是我不知道它是否對您有幫助還是值得一試(值得一試)。

“數據源= tcp:sql.mydomain.com,3306;初始目錄= sql數據庫名稱;集成安全性= False;用戶ID = sqlusername;密碼= sql密碼;”

這個網站上看到了它,但再次,我不知道它是否改變了任何東西。

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM