(转:收藏)怎样把数据库连接字符串存入注册表中

如果我们将连接数据库的信息存入注册表中,就能极大地提高连接信息的安全性。本文就是介绍如何将连接数据库的信息存储到注册表中,以提高数据库连接信息的安全性。

数据库的连接字符串是用数据库开发所必须的信息,我们通过连接字符串连接数据库,并进行各种数据库操作。本文提供的是把数据库连接信息存储到注册表中的方案。也许你要问为什么要存到注册表呢?我想最起码的好处是安全,注册表的访问权限很高,一般远程服务在没有得到管理员账号的情况下是没有权限来对注册表进行操作的,那么用来连接数据库的账户信息便安全许多。

一、在注册表中建立相应的键及值:

有三种方法可以在注册表中添加我们需要的信息:

1、纯手工的方法:开始->运行->Regedit,然后在相应的位置新建所需要的键值

2、运行一个注册表注册程序:

  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\TownSite]
  3. "Town"="server=localhost;database=Town;User Id=sa;Pwd=pass"

将上面的代码保存成一个.Reg文件,然后双击运行便可以在相应的位置添加相应的信息。

3、程序实现(C#):

  1. RegistryKey regKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\TownSite");
  2. regKey.SetValue(dbName,"server=Hi4-kelvin-yu;database=Test;User ID=sa;Pwd=pass");

说明:C#有对注册表进行处理的类和方法,首先要引入命名空间Microsoft.Win32 ,CreateSubKey方法会自动检测有没有相应的键值,如果没有则会创建,如果有则返回表示该键的RegistryKey的实例,如果可以确定有键值的话,也可以用OpenSubKey打开。dbName是值名,通过变量传过来。

二、读取键值:

读取键值非常简单:

  1. RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\TownSite", false);
  2. connectionString = regKey.GetValue(dbName).ToString().Trim();

说明:从相应的键处读取值信息,然后得到数据库连接字符串赋给一变量或者属性,然后就可以进行数据库连接了。

三、一点说明:

如果采用程序的方式创建注册表的键值,就要确保aspnet用户有对注册表的操作权限,方法如下:“开始->运行”,输入命令,“regedt32”,找到“System->CurrentControlSet->Services->Eventlog”,选择“安全->权限->添加”,然后找到本机的“AspNet”用户,加进来并且给读取权限就好了,加进来后目录中会多一个“aspnet_wp account”。

知识:快速打开注册表 regedit

警告:名称不能一样,连接语句不能一样

时间: 2024-11-06 19:04:31

(转:收藏)怎样把数据库连接字符串存入注册表中的相关文章

导出含有特定字符串的注册表

需求:我导出一份注册表,想导出每个含有TheBest字符串的注册表命令,符合条件的命令却有几十条.于是我不再一条一条导出,准备用c#实现这样的需求. 实现:每个命令的行数不特定,但命令与命令间间隔了两行,于是可以从\r\n\r\n跟\r\n\r\n这样的规律字符中提取出命令,再检测命令是否符合条件,符合则保存到新建的文件中,否则跳过此条命令. string filecontent = System.IO.File.ReadAllText(@"D:\单机安装\my.txt"); int

用javascript技术读取注册表中软件安装位置并启动本地软件

1.首先读取注册表中本地软件安装的位置,如果未安装则无就跳转到下载页面. 2.启动软件,关闭页面. 3.如报错提示. <SCRIPT language=javascript>  <!--   function killErrors(){  alert("请将您浏览器Internet选项中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”设置为“启用”!/n/n然后刷新本页登陆!");  return true;}   window.onerror = ki

C#读取注册表中二进制类型的值(REG_BINARY)

如需要读取注册表中某个键的值, 例如读取DriverDesc对应的值,一般情况下为String类型,读取代码如下: RegistryKey driverKey = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000"); string result = (String)driverKey.GetValue

VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)

注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.比如我们打开一个记事本,调整其窗口大小,使用完毕后关闭记事本,下次打开时大小和上次关闭前的大小和在屏幕上的位置是相同.这些位置和大小信息就是在记事本关闭时保存到注册表中,下次打开时我们从注册表中取出这些数据,并按照这些数据显示记事本程序的大小和位置信息. 下面教你如何使用GetProfileInt,WriteProfileInt,GetPro

光驱错误:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备

现象:Windows 无法启动这个硬件设备,卸载后重新扫描还是显示叹号.设备管理器光驱驱动右键属性,提示错误信息:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19) 解决方法: 1. 点开"开始"-运行regedit.exe,进入注册表编辑器,到左边的项目栏里找到HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Class\{4D36E965-E325-11C E-BFC1-0800

usb由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备(代码 19)

今天解决了一晚上,USB驱动的问题: 在设备管理器的usb设备的属性中,显示提示“由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备”.注册表坏了.经过查询,解决方法如下: 方法:打开注册表编辑器(开始-->运行-->regedit),依次展开HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/在这下面有很多用“{}”括起来的项,一个一个的点开,看右面空口有没有“通用串行总线控制器”这些文字,在右面窗

在注册表中无Python3.5安装路径的情况下安装pywin32-

当安装pywin32出现Python Version 3.5 required which was not found in the registry的时候表面注册表中没有Python3.5的安装路径.  我出现这种情况是因为我直接用的Anaconda所以注册表没有注册  解决办法:  1. 先在注册表中写入Python3.5的安装路径.我在网上找到了注册表注册的代码贴出来供大家使用. import sys from winreg import * # tweak as necessary ve

注册表中一些与用户登录和屏保相关的设置项

以下给出一个reg文件,可以清除某些讨厌的设置(例如某些公司预装的操作系统针对所谓的"信息安全"进行的设置),主要包括用户登入时不需要按ctrl+alt+del,不显示legalnotice,登入界面上显示关机按钮,显示上次登入的用户名,同时允许设置屏保.将以下内容保存为reg文件后双击导入,使注册表修改立即生效的话,可以关闭explorer.exe进程,然后重新建立一个.这里给一个方便的命令行来完成这个关闭并新建的工作: taskkill /f /im explorer.exe&am

[转]如何在注册表中进行查找

1 2 3 4 5 6 7 分步阅读 经常碰到网友提问,电脑一开机,就会弹出一些提示,说某个文件找不到,可是,找又找不到,不知如何是好. 其实,这都是某些软件被卸载后,留下的残余,一般是保留在注册表中某一个项中,象这样的问题,可以到注册表去找,因为注册表很庞大,要找一个项目非常难,必须采用查找的方法,如何在注册表中进行“查找”.本文就介绍查找方法 工具/原料 电脑 方法/步骤 在注册表中进行查找的步骤: 1,要搜索注册表,必须先进入注册表,进入方法,在开始菜单中打开“运行”,也可以直接按Win+