我有一个由Strato托管的外部数据库,我想将我的asp.net c#连接到该外部数据库,并在该数据库中插入一个新用户,但是在尝试建立连接时出现错误。该错误发生在con.open();处。谁能帮我这个?我是asp.net的新手,所以任何示例代码都可能会有所帮助。现在,我只是尝试建立与数据库的连接,并在单击“提交”按钮后将静态数据传输到表。
web.config
<connectionStrings>
<add name="ApplicationServices"
connectionString="server=rdbms.strato.de;database=DB33321; UID=abc123; password=pass123"
providerName="System.Data.SqlClient" />
</connectionStrings>
aspx.cs
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
con.Open();
SqlCommand cmd = new SqlCommand("insert into USER"+"(name)values(kim)");
Response.Write("Registration success!");
con.Close();
}
我收到的错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:命名管道提供者,错误:40-无法打开与SQL Server的连接)
答案 0 :(得分:1)
您可能发现了在没有意识到有多个ADO.Net提供程序的情况下连接数据库的示例。对于MySql,您需要一个nuget包:
https://www.nuget.org/packages/MySql.Data/
然后,您将更改连接字符串,以使提供者不是System.Data.SqlClient
。我相信应该是MySql.Data.MySqlClient
接下来,您更改代码,以使其使用正确的类型。无论在何处看到“ Sql ...”,都将其更改为“ MySql ...”。例如:
SqlConnection
变成MySqlConnection
。