程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> 注冊表中存儲數據庫鏈接字符串的方法

注冊表中存儲數據庫鏈接字符串的方法

編輯:ASP.NET基礎
數據庫的鏈接字符串是用數據庫開發所必須的信息,我們通過鏈接字符串連接數據庫,並進行各種數據庫操作。那麼鏈接字符串的存到哪裡好呢?這沒有什麼定論,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”
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved