【问题标题】:Internal connection fatal error in opening connection打开连接时出现内部连接致命错误
【发布时间】:2015-11-04 04:54:17
【问题描述】:

在 Asp.net mvc 中,我试图打开一个 sql 连接,但它总是给我无效连接致命错误。 这是我的以下代码:

在 Web.config 中:

<connectionStrings>    
 <add name="test" connectionString="Data Source=test,3306;Initial catalog=test;User Id=xxxxx;password=xxxx;Trusted_Connection=False;Encrypt=True;"  providerName="System.Data.SqlClient" />

在控制器类中:

var sql = "select * from users where email = \"" + model.Email + "\" and password = \"" + model.Password +\"";
        System.Diagnostics.Debug.WriteLine("return url = "+sql);
        string connectionString = ConfigurationManager.ConnectionStrings["test"].ConnectionString;
        using (var conn = new SqlConnection(connectionString))
        {
            try
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);

                SqlDataReader dr = cmd.ExecuteReader();
                dr.Read();
                System.Diagnostics.Debug.WriteLine("output = " + dr.HasRows);
                conn.Close();
            }
            catch(Exception e)
            {
                System.Diagnostics.Debug.WriteLine("exception " + e.ToString());
            }


        }

它在 conn.open() 上给了我以下异常;

 System.InvalidOperationException: Internal connection fatal error. Error state: 18

谁能指出我的代码有什么问题。

【问题讨论】:

  • 当您使用using 语句时,您不需要显式关闭您的连接!
  • 好的。但它仍然给我一个错误 conn.open()

标签: mysql asp.net-mvc exception web-config


【解决方案1】:
 public MySqlConnection GetMySqlConnection(string dataBase, string server,uint port,string userID,string pass)
 {
            MySqlConnectionStringBuilder myBuilder = new MySqlConnectionStringBuilder();
            myBuilder.Database = dataBase;
            myBuilder.Server = server;
            myBuilder.Port = port;
            myBuilder.UserID = userID;
            myBuilder.Password = pass;

            MySqlConnection myconn = new MySqlConnection(myBuilder.ConnectionString);

            myconn.Open();
            return myconn;
  }

说明: 您应该使用 MySql 而不是 MS SQL。 为 Visual Studio 安装 MySql 连接器网络和 MySql(“只需用谷歌搜索”)

安装后:

  1. 必须在References中添加MySql.Data

  2. 在你的课堂上:使用 MySql.Data.MySqlClient;

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 2012-06-22
    • 2013-11-10
    • 1970-01-01
    相关资源
    最近更新 更多