繁体   English   中英

.net SqlClient和.NET CORE Web API连接字符串

[英].net SqlClient and .NET CORE Web API connection string

是我还是在那里sqlclient和.net核心使用连接字符串的方式不同。

示例旧客户端:

var connectionString = "Data Source=SQLSERV1\\SQLSERV1;Initial Catalog=mydb;User ID=myuser; Password=mypass;";
using (SqlConnection conn = new SqlConnection(connectionString))
{
    ....etc

代码工作正常,结果从这个SQL客户端查询返回。

现在在.NET CORE Web API中:

appsettings.json

"Data": {
    "DefaultConnection": {
        "ConnectionString": "Data Source=SQLSERV1\\SQLSERV1;Initial Catalog=mydb;User ID=myuser; Password=mypass;"
    }
}

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddApplicationInsightsTelemetry(Configuration);

    services.AddMvc()
        .AddJsonOptions(config =>
        {
            config.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
        });
    services.AddDbContext<MW_MereSysContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

当我尝试导航到浏览器中的网址时,我得到:

处理请求时发生未处理的异常.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

那么如何让sqlclient看到服务器没问题,但.net核心不行? 是它处理字符串的方式,即它在域上的事实?

也许这是一个语法问题:

Data Source=Server\\Instance

如果您有默认实例,那么,只使用:

Data Source=Server

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM