【问题标题】:How to write connectionString for DB for Asp.net Core Web Api如何为 Asp.net Core Web Api 的 DB 编写 connectionString
【发布时间】:2020-01-13 14:54:26
【问题描述】:

我在 WebApi 中使用了下面的连接字符串格式,它不起作用。

"ConnectionStrings": {
    "DefaultConnection": "Data Source = William\SQL2017Express; Initial Catalog=ContactMgmtDB;Integrated Security=SSPI;"
  },

这里是信息,如何为具有此格式的“\”的数据库编写连接字符串 服务器名称\实例名称

1)身份验证方法:Windows身份验证
2) 服务器名称:William\SQL2017EXPRESS
3) 实例名称:SQL2017EXPRESS

更新:此字符串包含 "\\" 用于转义字符。可以吗
"DefaultConnection": "数据源 = William"\\"SQL2017Express;初始目录=ContactMgmtDB;集成安全=SSPI;"

谢谢

【问题讨论】:

    标签: asp.net-core-2.0 asp.net-core-webapi


    【解决方案1】:

    William - 这是你的本地主机?如果不是,请确保在服务器上启用了命名管道和 tcp/ip。 Look here for more info

    您的 Windows 用户也必须有权访问数据库。您可以从 SQL Server Management Studio 连接到 db 吗?如果没有,您应该使用 sa 用户登录服务器并添加您的 windows 用户。 More info

    也看看这个topic

    【讨论】:

    • 我对本地主机这个词感到困惑。服务器名称或计算机名称是指计算机本身吗?正确的。如果它指的是计算机,那么我的计算机名称是威廉。我的连接字符串正确吗?
    • 尝试用 .\SQL2017Express 代替 William\SQL2017Express
    • 不工作。我尝试了 .\SQL2017Express、William\SQL2017Express 并且我还启用了 TCP 和命名管道,我还为 Sqlserver2017 开放了端口 49xxx。我想知道有什么问题。请我的更新。该字符串包含转义字符:William 之后的 \
    • 哦,我是多么的不体贴。只需使用转义符号'\'。 "ConnectionStrings": { "DefaultConnection": "Data Source = William\\SQL2017Express; Initial Catalog=ContactMgmtDB;Integrated Security=SSPI;" },
    • Here more info 关于转义特殊字符
    【解决方案2】:

    您也可以使用这种格式,它将在 ASP.NET CORE MVC 中运行。 首先,在项目中安装这些包:-

    1. 安装包 Microsoft.EntityFrameworkCore -Version 3.1.0
    2. 安装包 Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.0
    3. 安装包 Microsoft.EntityFrameworkCore.Tools -Version 3.1.0
    4. 安装包 Microsoft.EntityFrameworkCore.Design -Version 3.1.0
    5. 安装包 Microsoft.EntityFrameworkCore.Proxies -Version 3.1.0

    然后,在您自己的 ContextDb 类上覆盖此方法:-

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            string connectionString = @"Data Source = William\SQL2017Express; 
                                        Initial Catalog = ContactMgmtDB; 
                                        Integrated Security = SSPI;";
            optionsBuilder.UseSqlServer(connectionString);
            optionsBuilder.UseLazyLoadingProxies();
        }
    

    【讨论】:

      猜你喜欢
      • 2021-01-24
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2022-06-16
      • 2021-03-26
      • 1970-01-01
      相关资源
      最近更新 更多