註冊表中儲存資料庫連結字串

來源:互聯網
上載者:User
連結|資料|資料庫|註冊表|字串 引言:

資料庫的連結字串是用資料庫開發所必須的資訊,我們通過連結字串串連資料庫,並進行各種資料庫操作。那麼連結字串的存到哪裡好呢?這沒有什麼定論,Asp系統開發中,一般存在一個conn.asp包含檔案中或者如果又是COM,可能還會封閉到COM中,.Net開發中,大多數都選擇存在Web.conifg中,也有人儲存在另外一個單獨的檔案中。那麼本文提供的是把資料庫連結資訊儲存到註冊表中的方案。也許你要問為什麼要存到註冊表呢?我想最起碼的好處是安全,註冊表的存取權限很高,一般遠程服務在沒有得到管理員帳號的情況下是沒有許可權來對註冊表進行操作的,那麼用來串連資料庫的賬戶資訊便安全許多。

一、在註冊表中建立相應的鍵及值:

有三種方法可以在註冊表中添加我們需要的資訊:

1、純手工的方法:開始->運行->Regedit,然後在相應的位置建立所需要的鍵和值。

2、運行一個註冊表註冊程式:

Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SOFTWARE\TownSite]

"Town"="server=localhost;database=Town;User Id=sa;Pwd=pass"

將上面的代碼儲存成一個.Reg檔案,然後雙擊運行便可以在相應的位置添加相應的資訊。

3、程式實現(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方法會自動檢測有沒有相應的索引值,如果沒有則會建立,如果有則返回表示該鍵的RegistryKey的執行個體,如果可以確定有索引值的話,也可以用OpenSubKey開啟。dbName是值名,通過變數傳過來。

 

二、讀取索引值:

讀取索引值非常簡單

RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\TownSite", false);

connectionString = regKey.GetValue(dbName).ToString().Trim();

說明:從相應的鍵處讀取值資訊,然後得到資料庫連結字串賦給一變數或者屬性,然後就可以進行資料庫連接了。

三、一點說明:

如果採用程式的方式建立註冊表的索引值,就要確保aspnet使用者有對註冊表的操作許可權,方法如下:“開始->運行”,輸入命令,“regedt32”,找到“System->CurrentControlSet->Services->Eventlog”,選擇“安全->許可權->添加”,然後找到原生“AspNet”使用者,加進來並且給讀取許可權就好了,加進來後目錄中會多一個“aspnet_wp account”


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。