簡體   English   中英

mdf文件的ASP.NET connectionString不起作用

[英]ASP.NET connectionString for mdf file not working

我正在使用Visual Studio2017。我剛剛在項目中創建了一個全新的mdf文件(右鍵單擊App Data-> Add New Item-> SQL Server Database),並將其命名為TestDatabase.mdf

現在,我嘗試通過連接字符串連接到它:

<add name="TestConnection" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|TestDatabase.mdf;Database=TestDatabase; Trusted_Connection=Yes;" providerName="System.Data.SqlClient" />

接下來,我創建了一個模型,然后創建了一個EntityFramework控制器,但是現在當我進入控制器索引方法時,出現以下錯誤:

建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱正確,並且已將SQL Server配置為允許遠程連接。 (提供者:SQL網絡接口,錯誤:26-指定服務器/實例時出錯)

我究竟做錯了什么?

確保您在App_Data文件夾中可以找到testDatabase.mdf。

<connectionStrings>
  <add name="ConnectionName"
    connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|DatabaseName.mdf;Integrated Security=True;User Instance=True"
    providerName="System.Data.SqlClient" />
</connectionStrings>

您編寫的此連接字符串不正確。

<add name="TestConnection" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|TestDatabase.mdf;Database=TestDatabase; Trusted_Connection=Yes;" providerName="System.Data.SqlClient" />

我假設您在系統中安裝了SQL Express。 這將提供要在您的計算機上運行的SQL的本地實例。

正如您所說的那樣使用Visual Studio 2017,您可以按照以下步驟獲取正確的連接字符串

  1. 打開服務器資源管理器
  2. 右鍵單擊數據庫,然后單擊屬性
  3. 將打開一個屬性窗口,復制ConnectionString並確保它看起來像這樣:

    <add name="YourDbName" connectionString="Data Source=YourComputerName\\SQLEXPRESS;Initial Catalog=YourDbName;Integrated Security=True" />

現在談論這個:

建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱正確,並且已將SQL Server配置為允許遠程連接。 (提供者:SQL網絡接口,錯誤:26-指定服務器/實例時出錯)

您收到此錯誤,是因為它沒有獲得實例名稱以連接到數據庫。 在我的示例中,SQLEXPRESS用作實例名稱。 如果您沒有SQLEXPRESS,則可以從此處下載它: https : //www.microsoft.com/zh-cn/sql-server/sql-server-editions-express您可以按照提示進行操作,並將此軟件包安裝在您的計算機中系統。

安裝此組件后,您的實例將被激活。 再次連接您的Db。我確定它可以正常工作。

萬一再次出現此錯誤,您可以按照以下步驟操作:

  1. 按Windows + R,然后鍵入services.msc,然后按OK。
  2. 從給定的列表中搜索SqlServer(SQLEXPRESS) ,然后單擊啟動服務 這將再次激活您的實例,數據庫現在可以連接到您的應用程序了。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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