.NET SqlClientおよび.NET CORE Web API接続文字列

.net asp.net-core c# entity-framework entity-framework-core

質問

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"]));

私は私のブラウザのURLにナビゲートしようとすると私は得る:

要求を処理中に未処理の例外が発生しました。SQLException:SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。 (プロバイダー:SQLネットワークインターフェース、エラー:26 - 指定されたサーバー/インスタンスの指定エラー)

それでは、sqlclientはどのようにサーバーを正常に見ていますか.netのコアはできませんか?それはそれが文字列を処理する方法ですか?つまり、ドメイン上の事実ですか?

人気のある回答

たぶんそれは構文上の問題です:

Data Source=Server\\Instance

デフォルトのインスタンスがある場合は、次のように使用します。

Data Source=Server


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ