频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

注册表中存储数据库链接字符串

来源: 作者: 出处:巧巧读书 2006-09-01 进入讨论组

  引言:

数据库的链接字符串是用数据库开发所必须的信息,我们通过链接字符串连接数据库,并进行各种数据库操作
那么链接字符串的存到哪里好呢?这没有什么定论,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”正文:http://www.qqread.com/dotnet/h241959.html 更多文章 更多内容请看注册表知识手册注册表操作专题存储过程专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:注册表操作

较新的文章:转:“简”话设计模式
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章