[英].NET Core can't connect to remote SQL Server database
我有一個 .NET Core 應用程序作為 API。 我可以將它連接到本地 SQL Server 數據庫,但不能連接到我網絡上的其他數據庫。
當我嘗試使用dbContext
訪問遠程數據庫時,出現此錯誤:
System.Data.SqlClient.SqlException :
與 SQL Server 建立連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠程連接。 (提供者:SQL 網絡接口,錯誤:26 - 錯誤定位服務器/指定的實例)
本地的appsettings.json
:
"ConnectionStrings": {
"DefaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=ib;Integrated Security=True;"
}
appsettings.json
用於遠程:
"ConnectionStrings": {
"DefaultConnection": "Server=[servername]\[instanz];Database=IBCore_Lange;User Id=sa;password=XXX"
}
我可以通過 SQL Server Management Studio 或我系統的以前 (ASP.NET) 版本訪問數據庫。 在 Core 中,我只能訪問本地數據庫。
啟動文件
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
.AddJsonOptions(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
services.AddDbContext<ibContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
生成DbContext
:
Scaffold-DbContext "Connection String"
Microsoft.EntityFrameworkCore.SqlServer -Verbose -o {output folder} -t {table to update} -force
嘗試以下操作:
telnet HC-SERVER-04 1433
(從您嘗試連接 SQL 服務器的位置) 如果第 2 步失敗:在 SQL Server 的防火牆中創建規則,端口號為1433
和1434
以接受傳入的連接,然后重試 telnet,如果 telnet 有效,應用程序應該能夠連接
SQL Browser
服務SQL Browser
服務不走運,更改連接字符串如下:Server=HC-SERVER-04,1433;Database=IBCore_Lange;User Id=sa;password=XXX
在 json 文件中,像"DefaultConnection": "Data Source=db-name\\\\test2019; ...
這里的問題是服務器的命名實例“Server=[servername]\\[instanz]”。 我可以在沒有實例的情況下連接到 SQL-Server。
我還沒有找到具有命名實例的服務器的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.