3

我認爲這是更多的連接字符串問題,MVC 3,所以提前抱歉。MVC 3 ASPNETDB.MDF SqlExpress數據庫連接字符串上的虛擬主機

我在MVC 3中創建了一個網站,其中包含在註冊新用戶時創建的默認數據庫。它工作正常,當地卻沒有關於我的虛擬主機,我收到以下錯誤:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

默認的連接字符串是:

<connectionStrings> 
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
    providerName="System.Data.SqlClient" /> 
    <add name="ASPNETDBConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True" 
    providerName="System.Data.SqlClient" /> 

我應該指定用顯式的連接字符串服務器的IP地址或保留。\ SQLEXPRESS命令?如果我需要指定用戶名和密碼,那麼我應該使用什麼?我從來沒有使用過本地的SQLExpress數據庫,所以我無能爲力(我確信這很明顯)。

+1

在您的網站託管上,數據庫安裝在哪裏?它甚至還安裝了SQL Express? – BonyT

+0

數據庫位於App_Data目錄中,Web主機狀態爲「SQL Management Express Supported」,但從控制面板看不到任何配置方式(我也不知道配置)我正在等待他們的回覆,但是想知道它是不是一個簡單的連接字符串問題 – pfeds

+0

事實證明,託管提供程序不支持SQL Server Express,所以我需要創建一個標準的SQL數據庫。謝謝你的幫助。 – pfeds

回答

2

如果你不能使用SQL Express,那麼你可以考慮嵌入式SQL引擎:

SQL Compact EditionSQLLite

我從來沒有使用SQL CE,但SQLLite僅僅是一個單一的DLL。

很明顯,你沒有完全成熟的數據庫引擎的所有功能,但它們仍然非常強大。

+0

優秀的選擇,謝謝。我沒有做任何奇妙的事情,所以SQLLite應該是一個漂亮的解決方案。 – pfeds

1

一般來說,你需要使用一個連接字符串與特定的IP地址,用戶名,密碼等

你和誰託管?通常.net主機提供商會爲您提供用於連接到數據庫的連接字符串。你可以複製並粘貼到你的web.config。另外,當他們爲您創建數據庫時,他們通常會指定用戶名,密碼和數據庫名稱,因此您必須更改所有這些數據庫。

這是visual studio具有Web.config.debug和Web.config.Release與xml轉換。通過這種方式,當您發佈到站點時,連接字符串會自動從本地連接字符串更改爲生產環境中使用的連接字符串。

1

您可能需要關注這篇文章?

http://www.asp.net/mvc/tutorials/authenticating-users-with-forms-authentication-cs

Deafault「.NET」安裝應用服務‘AttachDBFilename = | DataDirectory目錄| ASPNETDB.MDF’

然後你創建自己的數據庫,現在你用兩個數據庫的存儲數據可能只有一個。

如果您閱讀上述文章,它將向您展示如何將所有內容合併到一個數據庫中。

當您部署到託管服務器(並且它對可以使用多少數據庫有限制或甚至沒有運行sqlexpress)時,數據庫都不會附加。所以你需要爲你的web.config文件(通常是Debug和Release)創建一個「轉換文件」,它基本上是另一個web.config文件,但是隻有當你的網站被部署到主機時你需要改變的配置文件服務器。

因此,您的託管服務提供商會爲您提供服務器上連接字符串所需的詳細信息。然後你把它放在「web.config。發佈「文件,當您編譯和發佈網站的」發佈「版本時,您將獲得一個web.config文件,其中包含正確的連接字符串數據。

相關問題