我无论如何都不是C#和asp的专家,但是我已经设法将它发布到我的网站的末尾并进行部署。一切都在本地很好,包括MySQL连接。但是,当我插入我的主机给出的连接字符串时,我收到错误消息。我到处寻找解决方案,甚至联系了根本没有帮助的主人。我很沮丧,我知道最好的是在这里。我确信我的所有代码都存在多个问题。我是基本的HTML和JS和SQL,直到3周前。比你大家好。
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
答案 0 :(得分:0)
它不喜欢主机提供的连接字符串的'Driver'参数。在你的web.config中试试这个,改编自mysql连接器docs。
<add name="mySQLconn" connectionString="Server=skyhill.ipowermysql.com;Database=skyhill;Uid=skyhillweb;Pwd=yourpassword;" providerName="MySql.Data.MySqlClient"/>
答案 1 :(得分:0)
你可以使用旧版本的MySQL dll for .Net,它解决了这个问题。