注冊表中存儲數(shù)據(jù)庫鏈接字符串的方法
更新時間:2008年01月21日 14:59:33 作者:
注冊表中存儲數(shù)據(jù)庫鏈接字符串的方法
數(shù)據(jù)庫的鏈接字符串是用數(shù)據(jù)庫開發(fā)所必須的信息,我們通過鏈接字符串連接數(shù)據(jù)庫,并進行各種數(shù)據(jù)庫操作。那么鏈接字符串的存到哪里好呢?這沒有什么定論,Asp系統(tǒng)開發(fā)中,一般存在一個conn.asp包含文件中或者如果又是COM,可能還會封閉到COM中,.Net開發(fā)中,大多數(shù)都選擇存在Web.conifg中,也有人存儲在另外一個單獨的文件中。那么本文提供的是把數(shù)據(jù)庫鏈接信息存儲到注冊表中的方案。也許你要問為什么要存到注冊表呢?我想最起碼的好處是安全,注冊表的訪問權(quán)限很高,一般遠程服務(wù)在沒有得到管理員賬號的情況下是沒有權(quán)限來對注冊表進行操作的,那么用來連接數(shù)據(jù)庫的賬戶信息便安全許多。
一、在注冊表中建立相應(yīng)的鍵及值:
有三種方法可以在注冊表中添加我們需要的信息:
1、純手工的方法:開始->運行->Regedit,然后在相應(yīng)的位置新建所需要的鍵和值。
2、運行一個注冊表注冊程序:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\TownSite]
"Town"="server=localhost;database=Town;User Id=sa;Pwd=pass"
將上面的代碼保存成一個.Reg文件,然后雙擊運行便可以在相應(yīng)的位置添加相應(yīng)的信息。
3、程序?qū)崿F(xiàn)(C#):
RegistryKey regKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\TownSite");
regKey.SetValue(dbName,"server=Hi4-kelvin-yu;database=Test;User ID=sa;Pwd=pass");
說明:C#有對注冊表進行處理的類和方法,首先要引入命名空間Microsoft.Win32 ,CreateSubKey方法會自動檢測有沒有相應(yīng)的鍵值,如果沒有則會創(chuàng)建,如果有則返回表示該鍵的RegistryKey的實例,如果可以確定有鍵值的話,也可以用OpenSubKey打開。dbName是值名,通過變量傳過來。
二、讀取鍵值:
讀取鍵值非常簡單
RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\TownSite", false);
connectionString = regKey.GetValue(dbName).ToString().Trim();
說明:從相應(yīng)的鍵處讀取值信息,然后得到數(shù)據(jù)庫鏈接字符串賦給一變量或者屬性,然后就可以進行數(shù)據(jù)庫連接了。
三、一點說明:
如果采用程序的方式創(chuàng)建注冊表的鍵值,就要確保aspnet用戶有對注冊表的操作權(quán)限,方法如下:“開始->運行”,輸入命令,“regedt32”,找到“System->CurrentControlSet->Services->Eventlog”,選擇“安全->權(quán)限->添加”,然后找到本機的“AspNet”用戶,加進來并且給讀取權(quán)限就好了,加進來后目錄中會多一個“aspnet_wp account”
一、在注冊表中建立相應(yīng)的鍵及值:
有三種方法可以在注冊表中添加我們需要的信息:
1、純手工的方法:開始->運行->Regedit,然后在相應(yīng)的位置新建所需要的鍵和值。
2、運行一個注冊表注冊程序:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\TownSite]
"Town"="server=localhost;database=Town;User Id=sa;Pwd=pass"
將上面的代碼保存成一個.Reg文件,然后雙擊運行便可以在相應(yīng)的位置添加相應(yīng)的信息。
3、程序?qū)崿F(xiàn)(C#):
RegistryKey regKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\TownSite");
regKey.SetValue(dbName,"server=Hi4-kelvin-yu;database=Test;User ID=sa;Pwd=pass");
說明:C#有對注冊表進行處理的類和方法,首先要引入命名空間Microsoft.Win32 ,CreateSubKey方法會自動檢測有沒有相應(yīng)的鍵值,如果沒有則會創(chuàng)建,如果有則返回表示該鍵的RegistryKey的實例,如果可以確定有鍵值的話,也可以用OpenSubKey打開。dbName是值名,通過變量傳過來。
二、讀取鍵值:
讀取鍵值非常簡單
RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\TownSite", false);
connectionString = regKey.GetValue(dbName).ToString().Trim();
說明:從相應(yīng)的鍵處讀取值信息,然后得到數(shù)據(jù)庫鏈接字符串賦給一變量或者屬性,然后就可以進行數(shù)據(jù)庫連接了。
三、一點說明:
如果采用程序的方式創(chuàng)建注冊表的鍵值,就要確保aspnet用戶有對注冊表的操作權(quán)限,方法如下:“開始->運行”,輸入命令,“regedt32”,找到“System->CurrentControlSet->Services->Eventlog”,選擇“安全->權(quán)限->添加”,然后找到本機的“AspNet”用戶,加進來并且給讀取權(quán)限就好了,加進來后目錄中會多一個“aspnet_wp account”
相關(guān)文章
ASP.NET Core 2.2中的Endpoint路由詳解
這篇文章主要介紹了ASP.NET Core 2.2中的Endpoint路由詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03
asp.net開發(fā)中常見公共捕獲異常方式總結(jié)(附源碼)
這篇文章主要介紹了asp.net開發(fā)中常見公共捕獲異常方式總結(jié),結(jié)合實例形式較為詳細的分析了asp.net捕獲異常的相關(guān)技巧,并提供了完整的實例代碼供讀者下載參考,需要的朋友可以參考下2015-11-11
Web.config 和 App.config 的區(qū)別分析
Web.config 和 App.config 的區(qū)別分析,需要的朋友可以參考一下2013-05-05
asp.net CheckBoxList各項最小寬度CSS樣式(兼容性good)
ASP.NET中,CheckBoxList里的選擇都是自動寬度的,屬性時沒有設(shè)置各項寬度的設(shè)置,在IE10、遨游4極速模式及兼容模式下均可正確顯示最小寬度,此樣式除了用于CheckBoxList外,也可用于DIV等2013-04-04
Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫
這篇文章介紹了Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
ASP.NET單選按鈕控件RadioButton常用屬性和方法介紹
RadioButton又稱單選按鈕,其在工具箱中的圖標(biāo)為 ,單選按鈕通常成組出現(xiàn),用于提供兩個或多個互斥選項,即在一組單選鈕中只能選擇一個2014-04-04

