首页 > 解决方案 > asp.net 连接到外部数据库

问题描述

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

网络配置

<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 的连接)

标签: c#mysqlasp.net

解决方案


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

https://www.nuget.org/packages/MySql.Data/

然后,您将更改您的连接字符串,使 Provider 不是System.Data.SqlClient. 我相信应该是MySql.Data.MySqlClient

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

SqlConnection变成MySqlConnection.


推荐阅读