標籤:
一、使用OleDbConnection對象串連OLE DB資料來源
1.串連Access 資料庫
Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data Source=Access檔案路徑”
Access 2003: “provider=Microsoft.Jet.Oledb.4.0;Data Source=Access檔案路徑”
Access 2007: “provider=Microsoft.Ace.Oledb.12.0;Data Source=Access檔案路徑”
備忘:Access資料庫只提供兩個串連屬性provider(資料提供者)和data source(資料來源);
Access2000\2003的檔案格式是“.mdb”,,Access2007的檔案格式是“.accdb”;
Access的資料提供者版本是向下相容的,在Win7下測試使用Microsoft.Jet.OLEDB.3.5提示“未在本機電腦上註冊“Microsoft.Jet.OLEDB.3.5”提供者。”,改用Microsoft.Jet.OLEDB.4.0或者Microsoft.Ace.OLEDB12.0完全可以訪問Access2000的資料庫檔案。當然也可以嘗試使用微軟提供的MDAC 來修改provider的版本。
2.串連Excel資料庫
Excel 2003: “provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access檔案路徑;extended properties=excel 8.0”
Excel 2007: “provider=Microsoft.Ace.OLEDB.12.0;Data Source=Access檔案路徑;extended properties=excel 12.0”
備忘:在代碼中引用工作表時,應將表名表示為“[工作表名$]”,遇到欄位為資料庫保留關鍵字時,給該欄位名加上[]以示區別,如定義select 語句時:string connStr=”select * from [login$] where username=’abc’ and [password]=’abc123’ ”;
如果在資料表中用數字作為文本類型資料時,則應在數字前加單引號將預設的數值強行設定為文本類型。
3.串連SQL Server資料庫
provider=SQLOLEDB; Data Source=伺服器名; Initial Catalog=資料庫名; uid=使用者; pwd=密碼 二、使用SqlConnection對象串連SQL Server資料庫
聲明:以下串連的屬性都可以參考“SQL Server 資料庫連接字串參數一覽表”取它的別名;除了必須設定的屬性以外還可以設定其他輔助的屬性。如Connect Timeout、Encrypt等
設定資料庫檔案路徑的方法:
1.使用絕對路徑:“AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf”
2.使用伺服器相對路徑:“AttachDbFilename=”+Server.MapPath(“\\App_Data\\data.mdf”)
3.使用最簡單的相對路徑:“AttachDbFilename=|DataDirectory|\\data.mdf”
推薦使用第3種方式,“|DataDirectory|”代表ASP.NET項目裡自動建立的App_Data檔案夾
1.以SQL Server驗證模式串連SQLServer
(1)以資料庫名串連方式
Server=伺服器名; Database=資料庫名稱; User ID=使用者名稱; Password=密碼 或者(使用縮寫與別名)
Server=伺服器名; Initial Catalog=資料庫名稱; Uid=使用者; Pwd=密碼 (2)以資料庫檔案完整路徑串連方式
“Serve=伺服器名;AttachDbFilename=資料庫檔案路徑;User ID=使用者名稱;Password=密碼”
樣本:
Server=.\SQLEXPRESS; Database=DatabaseName; User ID =sa; Password=abc123” Server=.\SQLEXPRESS; Initial Catalog =DatabaseName; Uid =sa; Pwd=abc123” Server=(local)\SQLEXPRESS; AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;User ID =sa; Password=abc123” 備忘:密碼可以為空白。
2.以Windows 驗證模式串連SQL Server
(1)以資料庫名串連方式
Server=伺服器名; Database=資料庫名稱; Integrated Security=SSPI (2)以資料庫檔案完整路徑串連方式
“Serve=伺服器名;AttachDbFilename=資料庫檔案路徑; Integrated Security=true”
樣本:
Server=伺服器名; Database=資料庫名稱; Integrated Security=SSPI Server=(local)\SQLEXPRESS; AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf; Integrated Security=true” 備忘:SSPI即為true
三、使用OdbcConnection對象串連ODBC資料來源
“Driver=資料庫提供者名;Server=伺服器名; Database=資料庫名;Trusted_Connection=yes”
樣本:
首先要在電腦管理à資料來源à配置好相對應的資料來源(選擇資料庫類型,設定資料庫檔案路徑與相對應的資料庫名)
Driver= Microsoft.Jet.OLEDB.4.0; Server=.\SQLEXPRESS; Database=DatabaseName; Trusted_Connection=yes 四、使用OracleConnection對象串連Oracle資料庫
Data Source=Oracle8i; Integrated Security=yes 五、在ASP.NET項目中的web.config檔案裡設定資料庫串連並在程式碼中擷取連接字串
1.在<connectionStrings> 標籤裡添加串連
<connectionStrings> <add name="ConnectionName" connectionString="Server=.\SQLEXPRESS;Database=DatabaseName;User ID=sa;Password=abc123" providerName="System.Data.SqlClient" /> </connectionStrings> 或者
<connectionStrings> <add name="ConnectionName" connectionString="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;Integrated Security=true" providerName="System.Data.SqlClient" /> </connectionStrings> 在程式碼中擷取<connectionStrings> 標籤裡的連接字串:
引用命名空間:
Using System.Configuration ; string connStr = ConfigurationManager.ConnectionStrings["ConnectionName"].ToString(); 2.在<appSettings>標籤裡添加串連
<appSettings> <add key="ConnectionName" value="Server=.\SQLEXPRESS;Database=DatabaseName;User ID=sa;Password=abc123" /> </appSettings> 或者
<appSettings> <add key="ConnectionName" value="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;Integrated Security=True" /> </appSettings> 在程式碼中擷取<appSettings> 標籤裡的連接字串:
引用命名空間:
Using System.Configuration ; string connStr = ConfigurationManager.AppSettings["ConnectionName"].ToString();
ASP.NET資料庫連接字串總結