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

ASP.NET Core查询users表触发Microsoft.Data.SqlClient.SqlException(0x80131904)

问题解决:SqlException提示“users对象名无效”但表实际存在

核心原因

你的数据库连接字符串未指定要连接的目标数据库。SqlConnection默认会连接到用户账户的默认数据库(通常是master),而你的users表并不在这个默认库中,因此触发“对象名无效”的异常。

修复方法

在Db类的连接字符串中添加Initial Catalog=你的数据库名称;,指定正确的数据库:

public async Task<SqlConnection> OpenConnection()
{
    var con = new SqlConnection();
    // 注意添加Initial Catalog指定数据库
    con.ConnectionString = "Data Source=localhost;Initial Catalog=你的数据库名;User ID=*****;Password=********;Connect Timeout=30;Encrypt=False;Trust Server Certificate=True;Application Intent=ReadWrite;Multi Subnet Failover=false";

    if (con.State != ConnectionState.Open)
        await con.OpenAsync();

    return con;
}

额外排查项

如果修复后仍有问题,可以检查以下几点:

  • 表名拼写是否完全一致(注意SQL Server在区分大小写的排序规则下,大小写错误会导致找不到表)
  • 确认当前数据库用户对users表有查询权限
  • 表是否属于特定架构(比如dbo),查询时可以明确指定架构:SELECT * FROM dbo.users
  • 验证数据库名称是否正确,避免拼写错误

内容的提问来源于stack exchange,提问作者Александр Мун

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:01:10