c# - 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 的连接)
解决方案
您可能发现了连接到数据库的示例,而没有意识到 ADO.Net 有多个提供程序。对于 MySql,您需要一个 nuget 包:
https://www.nuget.org/packages/MySql.Data/
然后,您将更改您的连接字符串,使 Provider 不是System.Data.SqlClient
. 我相信应该是MySql.Data.MySqlClient
接下来,您更改代码以使其使用正确的类型。无论您在哪里看到“Sql ...”,都将其更改为“MySql ...”。例如:
SqlConnection
变成MySqlConnection
.
推荐阅读
- python - (DJANGO) 如何保存用户购物车的会话以在下次登录时恢复会话?
- laravel - vuejs 和 laravel 中的数据表数据未在移动设备上显示
- c# - 如何管理“应用程序。
.config”和“dotnet publish”,然后使用 Azure Pipeline 进行部署 - laravel - 为什么 laravel 主要使用 Facades 而不是单例?
- php - 我可以从 Symfony 的控制器中删除所有缓存池吗?
- javascript - Observable.fromEvent 不是一个函数 - RxJS
- python - 为具有特定颜色的 matplotlib 散点图创建颜色编码键
- lumen-8 - 如何从具有相关第二实体和相关第三实体的数据库中获取实体,但只获取具有给定属性的第三实体的实体?
- python - suds & python3: TypeError: XXXXX got an unexpected keyword argument '__inject'
- monaco-editor - 如何动态更改 monaco-editor 实例中使用的语言?