【发布时间】:2013-11-26 17:57:06
【问题描述】:
我不是 C# 和 asp 方面的专家,但我已经成功地完成了我的站点并进行了部署。在本地一切正常,包括 MySQL 连接。但是,当我插入主机提供的连接字符串时,我会收到错误消息。我到处寻找解决方案,甚至联系了根本没有帮助的主人。我很沮丧,我知道最好的都在这里。我确信我的所有代码都存在不止一个问题。直到 3 周前,我都是基本的 HTML、JS 和 SQL。比你们大家。
Web.Config 文件
<configuration>
<connectionStrings>
<add name="mySQLconn" connectionString="DRIVER={MySQL ODBC 5.1 Driver};server=skyhill.ipowermysql.com; user id=skyhillweb; password=******; database=skyhill; OPTION=3;"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
<authentication mode="None"/>
</system.web>
<system.webServer>
<defaultDocument>
<files>
<add value="/pages/default.aspx"/>
</files>
</defaultDocument>
</system.webServer>
</configuration>
这里是页面(只是一个测试页面)路径是pages/abc.aspx是你想看的错误。
<form id="form1" runat="server">
<asp:GridView ID="gridAgent" runat="server" AutoGenerateColumns="True">
</asp:GridView>
<asp:TextBox ID="MessageBox" runat="server">
</asp:TextBox>
</form>
这是页面后面的 C#
using System;
using System.Configuration;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.Common;
using MySql.Data.MySqlClient;
namespace SkhillWebApp.pages
{
public partial class abc : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MySqlConnection conn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["mySQLconn"].ConnectionString);
string strSQL = "SELECT agentID, FirstName, LastName FROM agent";
conn.Open();
MySqlDataAdapter mydata = new MySqlDataAdapter(strSQL, conn);
MySqlCommandBuilder cmd = new MySqlCommandBuilder(mydata);
DataSet ds = new DataSet();
mydata.Fill(ds);
gridAgent.DataSource = ds;
gridAgent.DataBind();
conn.Close();
}
}
}
这是我的主机提供的连接 MySQL 数据库的代码。
Start
<%
Dim ConnectionString
ConnectionString="DRIVER={MySQL ODBC 5.1 Driver}; SERVER=skyhill.ipowermysql.com; PORT=3306;" &_
"DATABASE=skyhill; USER=skyhillweb; PASSWORD=*password*; OPTION=3;"
%>
' End
【问题讨论】:
-
您收到的错误信息是什么是?
-
我不确定,但我认为您不能将 MySqlClient 类与 ODBC 驱动程序一起使用。您是否尝试过适应您的 ISP 提供的不同参数的原始连接字符串?
-
@Brian 感谢您的回复 - 这是不支持的错误关键字。参数名称:driver 描述:当前web请求执行过程中发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.ArgumentException:不支持关键字。参数名称:驱动程序
-
我的意思是,您的 ISP 提供的连接字符串对 OdbcConnection、OdbcCommand 等 ODBC 类有效...不适用于 MySqlConnection、MySqlCommand....所以,除非您想将程序重新编码为利用 Odbc 类,您需要更改连接字符串,应用用于 MySqlClient 类的语法,请参阅connectionstring.com
-
您应该为 mySql 使用某种管理工具(phpMyAdmin 应由您的 ISP 提供),然后发出将密码更新为新格式所需的命令,请参阅此 mysql manual 页面了解详情
标签: c# mysql asp.net web-config