C# asp.net连接到外部数据库

C# asp.net连接到外部数据库,c#,mysql,asp.net,C#,Mysql,Asp.net,我有一个由Strato托管的外部数据库,我想将我的asp.net c#连接到外部数据库,并在数据库中插入一个新用户,但在尝试建立连接时出错。错误发生在con.open();有人能帮我吗?我是asp.net新手,因此任何示例代码都可能会有所帮助。现在,我只是尝试建立到数据库的连接,并在单击submit按钮时将静态数据传输到表中 web.config <connectionStrings> <add name="ApplicationServices" connectionStri

我有一个由Strato托管的外部数据库,我想将我的asp.net c#连接到外部数据库,并在数据库中插入一个新用户,但在尝试建立连接时出错。错误发生在con.open();有人能帮我吗?我是asp.net新手,因此任何示例代码都可能会有所帮助。现在,我只是尝试建立到数据库的连接,并在单击submit按钮时将静态数据传输到表中

web.config

<connectionStrings>
<add name="ApplicationServices"
connectionString="server=rdbms.strato.de;database=DB33321; UID=abc123; password=pass123"
providerName="System.Data.SqlClient" />
</connectionStrings>
我收到的错误是:


建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接)

您可能发现了连接到数据库的示例,但没有意识到ADO.Net有多个提供程序。对于MySql,您需要一个nuget包:

然后,您将更改连接字符串,使提供程序不是
System.Data.SqlClient
。我认为应该是
MySql.Data.MySqlClient

接下来更改代码,使其使用正确的类型。无论您在哪里看到“Sql…”都可以将其更改为“MySql…”。例如:


SqlConnection
变成了
MySqlConnection

看看Strato网站,看起来他们只有MySql数据库。对吗?如果是这样,您使用了错误的提供程序。使用
MySqlConnection
MySqlCommand
等。您能进一步说明吗?Strato确实只有MySql数据库,这是否意味着我无法通过asp.net连接它?尽管做了所有的更改,我仍然遇到同样的问题。提供商(strato)是否可能不支持此功能?因为他们的网站只展示了如何连接php代码。我希望它能与.Net一起工作,但可能存在防火墙问题或其他问题。你能联系Strato支持部门吗?好的,非常感谢。我会和strato一起锻炼,看看进展如何。
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();
}