ASP.NET使用的SqlConnection连接MySQL [英] ASP.NET use SqlConnection Connect Mysql
问题描述
这是连接如字符串保存在网络,配置
This is the Conection String saved in web,config
<appSettings>
<add key="conn" value="Driver={MySQL ODBC 5.1 Driver};server=127.0.0.1;uid=root;pwd=1234;database=gis_server;option=3"/>
</appSettings>
这是在code连接数据库
this is the code to connect database
protected bool CheckPasswordBySqlServer(string strEmail, string strPsw)
{
if (strEmail.ToLower() == "admin")
{
return false;
}
string str = "select id,Rank,RankEnc,ParentUser,Company from tbl_User where userName=@UserName and password1=@password";
private string strConn = ConfigurationManager.AppSettings["conn"].ToString();
SqlConnection sqlConnection = new SqlConnection(strConn);
bool flag = false;
try
{
try
{
sqlConnection.Open();
SqlCommand sqlCommand = new SqlCommand(str, sqlConnection);
sqlCommand.Parameters.AddWithValue("UserName", strEmail);
sqlCommand.Parameters.AddWithValue("Password", strPsw);
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
if (!sqlDataReader.Read())
{
flag = false;
}
else
{
this.Session["UserName"] = strEmail;
this.Session["Password"] = strPsw;
this.Session["LoginType"] = "Group";
this.Session["FullName"] = sqlDataReader["Company"].ToString();
if (FormsAuthentication.HashPasswordForStoringInConfigFile(string.Concat(strEmail, (char)43, sqlDataReader["Rank"].ToString()).ToLower(), "MD5") != sqlDataReader["RankEnc"].ToString().Trim())
{
flag = false;
}
this.Session["ClientID"] = sqlDataReader["id"].ToString();
this.Session["MyLanguage"] = base.Request.Cookies["Language"].Value;
this.Session["ParentUser"] = sqlDataReader["ParentUser"].ToString().Trim();
this.Session["Rank"] = sqlDataReader["Rank"].ToString();
this.Session["strConnection"] = this.strConn;
flag = true;
}
sqlDataReader.Close();
}
catch (Exception exception)
{
this.SetlblInfoHtml(exception.Message);
}
}
finally
{
sqlConnection.Close();
}
return flag;
}
但无法连接MySQL,这个返回错误
but fail to connect MySql, with this return error
System.ArgumentException: Keyword not supported: 'driver'. at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at System.Data.SqlClient.SqlConnection.ConnectionString_Set(String value) at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) at System.Data.SqlClient.SqlConnection..ctor(String connectionString) at Source_LoginFrm.CheckPasswordBySqlServer(String strEmail, String strPsw) at Source_LoginFrm.btnLogin_Click(String strLang)
是可能的SqlConnection连接mysql数据库?
is that possible SqlConnection to connect MySql Database?
推荐答案
的SqlConnection
是 SQL服务器
。您需要的MySqlConnection
- 这不是 .NET框架
,所以你必须的下载,并引用它在你的项目。然后,您可以创建一个的MySqlConnection
对象,并连接到的MySQL
在应用程序中:
SqlConnection
is for SQL Server
. You need MySqlConnection
- This is not part of the .NET Framework
so you will have to download it and reference it in your project. You can then create a MySqlConnection
object and connect to MySQL
in your application:
MySqlConnection connection = new MySqlConnection(myConnString);
您还可以使用的MySqlCommand
的对象,而不是的SqlCommand
对象。
You will also have to use the MySqlCommand
object rather than the SqlCommand
object.
<一个href="http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlconnection.html">http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlconnection.html
这篇关于ASP.NET使用的SqlConnection连接MySQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!