You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET Razor MVC中使用web.config连接字符串构建MySQL连接

嘿,我来帮你搞定这个问题!你现在已经用图示法连好了数据库,想换成web.config里的连接字符串避免硬编码,还碰到了致命错误18,咱们一步步来解决:

第一步:正确配置web.config中的连接字符串

首先得把连接信息写到web.config里,这样既安全又方便维护:

  • 打开项目根目录下的web.config文件,找到(如果没有就手动添加)<connectionStrings>节点,按照下面的格式配置:
<configuration>
  <!-- 其他配置节点 -->
  <connectionStrings>
    <add 
      name="MyDatabaseConn" 
      connectionString="Data Source=你的数据库服务器地址;Initial Catalog=你的数据库名称;User ID=你的数据库用户名;Password=你的数据库密码;Integrated Security=False" 
      providerName="System.Data.SqlClient" 
    />
  </connectionStrings>
</configuration>

注意替换占位符:

  • 本地SQL Server实例一般写.\SQLEXPRESS或者localhost;
  • 如果用Windows身份验证,把Integrated Security设为True,同时删掉User ID和Password项;
  • providerName针对SQL Server固定用System.Data.SqlClient。
第二步:在代码中读取并使用这个连接字符串

接下来在代码里调用这个配置好的连接字符串,不用再硬编码凭据:

方式一:用标准的SqlConnection

确保项目引用了System.Configuration程序集(WebMatrix默认已引用),然后这样写:

using System.Configuration;
using System.Data.SqlClient;

// 从web.config读取连接字符串
string connString = ConfigurationManager.ConnectionStrings["MyDatabaseConn"].ConnectionString;

// 使用连接字符串建立连接
using (SqlConnection conn = new SqlConnection(connString))
{
    try
    {
        conn.Open();
        // 这里写你的数据库操作逻辑,比如查询、插入等
    }
    catch (Exception ex)
    {
        // 捕获错误信息,方便排查问题
        // 可以输出到日志或者页面上,比如WebMatrix里可以用@ex.Message显示
    }
}

方式二:用WebMatrix自带的Database类

如果是用WebMatrix的WebMatrix.Data库,更简单:

using WebMatrix.Data;

// 直接传入连接字符串的name即可
var db = Database.Open("MyDatabaseConn");
// 之后就可以用db.Query、db.Execute等方法操作数据库了
排查致命错误18的常见原因

错误18是SQL Server的连接失败错误,大概率不是配置web.config的问题,而是数据库连接本身的配置问题,常见排查点:

  • SQL Server服务没启动:按下Win+R输入services.msc,找到SQL Server(你的实例名),确保它处于运行状态,没启动就右键启动。
  • 远程连接未开启:如果数据库在远程服务器,打开SQL Server配置管理器,找到「SQL Server网络配置」→ 你的实例的「协议」,启用TCP/IP协议,然后重启SQL Server服务。
  • 连接字符串格式错误:仔细核对web.config里的服务器地址、数据库名、用户名密码,别拼错;如果用Windows身份验证,就不要加用户名密码,确保Integrated Security=True。
  • 防火墙拦截:远程数据库的话,要确保服务器防火墙开放了1433端口(SQL Server默认端口);本地的话,检查Windows防火墙是否允许SQL Server相关程序通过。
  • 身份验证模式不对:如果用SQL Server身份验证(用户名密码),要在SQL Server Management Studio里,右键服务器→属性→安全性,选择「SQL Server和Windows身份验证模式」,然后重启SQL Server服务。

如果按照上面的步骤操作后还是有问题,建议把捕获到的完整错误信息贴出来,这样能更精准定位问题~

内容的提问来源于stack exchange,提问作者sushi7777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:43:22