1. 程式人生 > >隨便寫寫

隨便寫寫

rate style tac 復制粘貼 fig文件 def conn ons netd

ASP.NET web.config中數據庫連接字符串connectionStrings節的配置方法

第一種情況,本地開發時,使用本地數據庫,如下面的代碼

<connectionStrings>
    <add name="myConn" connectionString ="Data Source=(LocalDB) \v11.0;AttachDbFilename=|DataDirectory| \Movies.mdf;Integrated Security=True" providerName ="System.Data.SqlClient" />
</connectionStrings>

name屬性指的是連接字符串名稱,網站中需要使用數據庫時,都需要引用這個連接字符串名稱,本例中為myConn;

Data Source屬性是數據庫服務器,(LocalDB)\V11.0說明使用本地數據庫服務器,版本號為11,即SQL Server 2012默認有的自動實例 v11.0,2014的默認實例為:MSSQLLocalDB;

AttachDbFilename屬性是指定具體數據為名稱及位置,|DataDirectory| 對應ASP.NET網站中的系統目錄App_Data,本屬性值說明連接到本目錄中的名為Movies.mdf數據庫,其中,mdf文件名說明該數據庫需要SQL Server服務器的服務,但它本身是一個獨立的數據庫文件,可以進行復制粘貼而不需要在SQL Server管理系統(如SSMS)進行數據庫分離工作;

Integrated Security=True" 說明是集成驗證,是Windows驗證的方式,只要有這個屬性及屬性值,連接字符串中就不需要用戶名及密碼;

providerName ="System.Data.SqlClient"為數據提供程序;

這種情況是本地開發最常用的情況:可以直接使用ASP.NET創建數據庫(擴展名即為.mdf),也可以使用ASP.NET網站配置生成ASPNETDB.MDF數據庫,當數據庫創建完成後,在ASP.NET界面中創建連接字符串,只需要提供連接字符串的名稱,連接字符串的其它屬性及屬性值可以自動在web.config文件中生成。

第二種情況,本地開發時,使用下面的連接字符串:

<connectionStrings>
<add name="myConn" connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>


說明:這裏的connectionString屬性比第一種情況簡單,註意這裏的數據庫擴展名 .sdf,這是MS SQL Compact版本的數據庫,它不需要打開SQL Server的服務即可使用,精致小巧,便於使用,但支持性不如.mdf(這個是MS SQL Server標準版文件格式)。因此,在正常的PC機進行開發時,建議使用.mdf文件,如果在機器上沒有MS SQL Server服務運行時,.sdf是一個不錯的選擇。

第三種情況,本地開發時,使用下面代碼:

<connectionStrings
<add name="DefaultConnection" connectionString ="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true" providerName ="System.Data.SqlClient" /></connectionStrings>

說明:這裏的數據庫名沒有擴展名,說明是由MS SQL Server直接管理的數據庫,不是獨立的數據庫文件(即:如果想復制該數據庫,需要在SQL Server管理工具中分離這個數據庫)。這種連接往往是使用SQL Server創建數據庫,再用ASP.NET創建連接,本地開發時,用的不是很常見。

第四種情況,遠程部署時,可以看到下面的代碼:

<connectionStrings>
    <add name="myConn" connectionString="Data Source=服務器名;Initial Catalog=數據庫名;uid=用戶Id;pwd=用戶密碼;"/>
</connectionStrings>

說明:當需要把本地開發完成的ASP.NET網站部署到遠程空間(比如租用空間、比如自己的服務器),開始實際提供網站訪問服務時,則使用這種連接字符串。如果是租用空間,空間提供商會提供服務器名稱,數據庫名稱,用戶名及口令。註意這裏沒有了Integrated Security=true"屬性名及屬性值,所以需要用戶名與密碼。
因此,當在使用連接字符串進行本地開發(往往是本文中第一種方式)完成並測試成功後,需要根據遠程服務器的數據,對連接字符串進行修改再上傳至遠程服務器,才能提供真正的Internet訪問。

App_Data文件夾
App_Data文件夾應該包含應用程序的本地數據存儲。它通常以文件(諸如Microsoft Access或Microsoft SQL Server Express數據庫、XML文件、文本文件以及應用程序支持的任何其他文件)形式包含數據存儲。該文件夾內容不由ASP.NET處理。該文件夾是ASP.NET提供程序存儲自身數據的默認位置。

註意:默認ASP.NET帳戶被授予對文件夾的完全訪問權限。如果碰巧要改變ASP.NET帳戶,一定要確保新帳戶被授予對該文件夾的讀/寫訪問權。

摘自 ASP.NET web.config中數據庫連接字符串connectionStrings節的配置方法

隨便寫寫