[英]Cannot connect to SQL Server Express from NET Core
我正在 NET Core 2.2 上啟動一個 DEV,我在 SQL Server Express 中有一個本地數據庫,我正在嘗試連接,好吧,我編寫了以下代碼。
這個剃刀從啟動類中提取連接字符串成功返回:
@{
Startup s = new Startup(null);
string connstring = s.ConnectionStringReturn();
var dbh = new BDHandlercs(connstring);
}
// This code will display the connection string on the html page for testing purposes
// @string.Format("Connstring: {0}", connstring);
// Returning
// Connstring: Server=.\sqlexpress|Database=PV_REPUESTOS|User id=SystemUser|Password=Service1023;
在知道它加載了什么之后,我運行了這樣的方法:
dbh.GetConnection();
public SqlConnection GetConnection()
{
SqlConnection connection = new SqlConnection(this.ConnectionString);
if (connection.State != ConnectionState.Open)
connection.Open();
return connection;
}
盡管如此,我得到了以下信息:
處理請求時發生未處理的異常。
Win32Exception: 找不到網絡路徑
未知位置SqlException: 與 SQL Server 建立連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開與 SQL Server 的連接)
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 標識,SqlConnectionString connectionOptions,SqlCredential 憑據,對象 providerInfo,字符串 newPassword,SecureString newSecurePassword,bool redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,bool applyTransientFaultHandling)
這對我來說沒有意義,我可以使用SQLCMD
、SQL Server Management Studio 和所有東西進行連接,我有一個 WCF 服務也可以連接到數據庫,我打開了命名管道和端口,我認為這是一個NET Core 上的問題,有什么想法嗎?
好吧伙計們,在失敗了這么多之后,我決定改變我的代碼和結構
我正在處理索引頁面,所以我轉到控制器並添加以下代碼:
public class HomeController : Controller
{
private readonly IConfiguration configuration;
public HomeController(IConfiguration config)
{
this.configuration = config;
}
public IActionResult Index()
{
string connectionstring = configuration.GetConnectionString("DefaultConnection");
SqlConnection sqlconnection = new SqlConnection(connectionstring);
sqlconnection.Open();
sqlconnection.Close();
return View();
}
似乎連接沒有任何問題,我希望這會對其他人有所幫助,我被困了一天。
我現在的問題是如何在其他班級中回收此代碼? 但我想我可以弄清楚。
謝謝您的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.