注册表中存储数据库链接字符串的方法
程序员文章站
2022-05-31 17:05:55
数据库的链接字符串是用数据库开发所必须的信息,我们通过链接字符串连接数据库,并进行各种数据库操作。那么链接字符串的存到哪里好呢?这没有什么定论,asp系统开发中,一般存在一...
数据库的链接字符串是用数据库开发所必须的信息,我们通过链接字符串连接数据库,并进行各种数据库操作。那么链接字符串的存到哪里好呢?这没有什么定论,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、纯手工的方法:开始->运行->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”
上一篇: 生成多字段排序分页的SQL的通用类
下一篇: 通用汽车收购汽车自动驾驶软件研发企业
推荐阅读
-
oracle数据库中查看系统存储过程的方法
-
mongodb查询数据库中某个字段中的值包含某个字符串的方法
-
VS中C#读取app.config数据库配置字符串的三种方法
-
详解WordPress中给链接添加查询字符串的方法
-
php中存储用户ID和密码到mysql数据库的方法
-
Python 正则表达式匹配字符串中的http链接方法
-
oracle数据库中查看系统存储过程的方法
-
Asp.Net中Web.Config中的数据库连接字符串的调用方法(初学者实例)
-
php-网页中PHP代码向sqlite数据库写数据时,“000...0”这样的字符串会被存储为0,求解原因?
-
求php抓取N多相仿链接页面中的数据并存储的方法