簡體   English   中英

無法從 NET Core 連接到 SQL Server Express

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM