2011-12-29 65 views
2

我試圖連接到asp.net中的sql server上的數據庫。 下面是代碼的一部分:Asp.Net和MySQL登錄時出錯

try 
      { 
       connection = new SqlConnection(); 
       if(connection != null) 
        try 
        { 
         connection.ConnectionString = "Data Source=127.0.0.1,3306;Initial Catalog=MyPlace;User ID=root;Password=student"; 
         connection.Open(); 
         cmd = new SqlCommand(sqlQuery, connection); 
         rdr = cmd.ExecuteReader(); 
         while (rdr.Read()) 
         { 
          String s1 = (String)rdr["id"]; 
          Response.Redirect(s1); 
          // Operate on fetched data 
         } 
        } 
        catch (Exception exc) { Response.Output.Write(exc.Message); } 
      } 
      catch(Exception ex) 
      { 
       Response.Output.Write(ex.Message); 
      } 
      finally 
      { 
       if (cmd != null) 
        cmd.Dispose(); 
       if (connection != null) 
        connection.Close(); 
       if (rdr != null) 
        rdr.Dispose(); 
      } 

我收到的錯誤是: 的連接已成功與服務器建立的,但隨後在登錄過程中出現了錯誤。 (提供商:TCP提供商,錯誤:0 - 現有連接被遠程主機強制關閉)

任何想法爲什麼會發生這種情況?我已經通過了基本的故障排除步驟,但似乎沒有任何幫助...

回答

0

可能是一些事情,但最簡單的開始將是驗證您的MySql數據庫允許連接。是的,它看起來很愚蠢,但我們最近遇到了一個案例,一個應用程序不起作用,部分問題是MySql用戶的配置方式,它限制了可以連接的位置以及連接後可以執行的操作。

假設你可以在本地通過SQL工具連接起來,因爲你是在默認端口上運行的嘗試此連接字符串,而不是你正在使用

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; 

同時確保一個沒有任何衝突與您的盒子上的MySql連接器。

+0

謝謝你的迴應!我試過了,新的錯誤是:建立到SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開連接到SQL Server) – user1122028 2012-01-07 22:51:18

+0

其實上面的錯誤是因爲我從連接字符串中刪除3306端口。現在顯示的錯誤是:需要非負數。參數名稱:count。有任何想法嗎?提前致謝! – user1122028 2012-01-07 22:54:09

+0

好消息是你正在連接到數據庫。現在的問題與你的sql字符串有關。你有沒有測試過在數據庫上運行sql語句以確保獲得預期的回報? – Brian 2012-01-09 13:48:49