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