在哪找数据库连接字符串加密串

怎么查看本机某个数据库的连接字符串(很菜鸟)
[问题点数:20分,结帖人yaofangxj]
怎么查看本机某个数据库的连接字符串(很菜鸟)
[问题点数:20分,结帖人yaofangxj]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年4月 Oracle大版内专家分月排行榜第二2013年3月 Oracle大版内专家分月排行榜第二2010年5月 Oracle大版内专家分月排行榜第二
2013年1月 Oracle大版内专家分月排行榜第三2011年12月 Oracle大版内专家分月排行榜第三2010年8月 Oracle大版内专家分月排行榜第三2010年4月 Oracle大版内专家分月排行榜第三2010年3月 Oracle大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。对服务来说,一般都会用到数据库。而今,在微软的大环境下,使用 EF 的人肯定会越来越多。但是,使用 EF 有个问题,一个是使用缺省的构造函数,缺省从 ConfigurationManager.ConnectionStrings 中获取数据库连接;另外一种就是在构造的时候,手工指定数据库连接字符串。
对开发者来说,最好的办法就是不去管它,直接用缺省的构造函数就好。但是插件式的开发,系统怎么知道你数据库的连接字符串放在哪呀?主要的问题就在于其数据库连接字符串,并没有添加到 Web.Config 文件中,所以使用缺省构造函数,会出现无法找到配置的错误。
有个最简单的解决办法:可以选择把数据库连接字符串放到 Web.config 中,这样就能解决所有问题。可这样做,插件的配置侵入到主站了!但是,话说回来,我相信大部分用 WebApi 框架的人,都是这样干的。这样用,日后模块自己的数据库连接字符串增删改升级的时候,还得更改主站的配置。
这是绕不过去的一个坎!把本来一个的配置分散到两个地方,每次变动就必须修改这两处地方。日后维护的时候,这就是个坑!在知道的人离职后,后续的人根本就找不到问题原因。
插件管理自己的数据库连接字符串
理想的情况下,我们可以在第一次系统初始化的时候,给 ConfigurationManager.ConnectionStrings 这个集合中添加我们的数据库配置,这样就能在解析的时候找到配置了。顺着这个思路继续想,微软的反射很强大,可以更改本来不可以更新的数据。所以,就有了下面这段代码:
public void Configurate(System.Configuration.Configuration[] configurations)
var meta = ((TypeX)ConfigurationManager.ConnectionStrings.GetType()).GetField("bReadOnly");
meta.SetValue(ConfigurationManager.ConnectionStrings, false);
configurations.SelectMany(p =& p.ConnectionStrings.ConnectionStrings.OfType&ConnectionStringSettings&())
.Where(p =& ConfigurationManager.ConnectionStrings.IndexOf(p) & 0)
.ForEach(ConfigurationManager.ConnectionStrings.Add);
meta.SetValue(ConfigurationManager.ConnectionStrings, true);
这段代码的意思是,把各个模块的数据库连接字符串文件加载到列表中,然后通过反射开启赋值,加到 ConfigurationManager.ConnectionStrings 集合中。
要完成这个功能,我们尚需做的就是找到每个模块的数据库连接字符串文件,然后加载获得上面这个函数的参数。考虑到我们为每个模块定义了一个配置文件,所以这里为其添加一个配置就好了:
&?xml version="1.0" encoding="UTF-8"?&
&configuration enabled="true"&
&description&授权支持插件&/description&
&assemblies&
&add type="relative"&bin/Intime.AuthorizationService.dll&/add&
&add type="relative"&bin/Intime.AuthorizationService.Services.dll&/add&
&add type="relative"&bin/Intime.AuthorizationService.Data.dll&/add&
&add type="relative"&bin/Intime.AuthorizationService.Data.Repository.dll&/add&
&/assembiles&
&appConfig type="relative"&bin/Intime.AuthorizationService.Data.Repository.dll.config&/appConfig&
&/configuration&
参考 appConfig 配置节,我们可以得到模块的配置文件绝对路径,再和 DynamicModules 配合,用下面这段代码就可以得到 System.Configuration.Configuration[] configurations 这个参数了:
public void Configurate(HttpConfiguration configuration)
var items = ServiceLocator.Current.GetAllInstances&IAppConfigHandler&().ToArray();
if (items.Any())
var data = DynamicModules.Instance
.Where(p =& !string.IsNullOrWhiteSpace(p.Configuration.AppConfig))
.Select(p =&
var fullFilePath = bine(p.Path, p.Configuration.AppConfig);
return ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = fullFilePath }, ConfigurationUserLevel.None);
.ToArray();
items.ForEach(p =& p.Configurate(data));
可以看到,在这里我用了 IAppConfigHandler 接口,这样就可以扩展其他的配置了,不仅限于 ConnectionStrings 。
另外,上面这段代码缺点东西,自行脑补吧,很容易就看明白的。
阅读(...) 评论()数据库连接字符串应该存放在哪里比较安全(.net)_百度知道
数据库连接字符串应该存放在哪里比较安全(.net)
数据库连接字符串应该放什么比较安全
把连接字符串放在服务端 ,客户端启动时由服务器派发下去;s 结构客户端是c&#47,我想了一个办法。不知道是否合理
提问者采纳
Config,或者自己建的xml文件都可以把连接字符串加密,这样就安全一些.,取的时候再解密就成.Web
其他类似问题
为您推荐:
数据库连接的相关知识
其他5条回答
放在Web.Config里面就可以了吧,除非对方有查看你本地文件的权限。
去学学webservice可以把所有的数据库操作放在服务端,客户端程序只要向服务器发送请求,服务器就会返回相应的数据。数据库的地址是不是安全,这个不太清楚,我也是刚刚接触webservice
Web.Config里安全
Web.Config里面.
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C#连接数据库_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
C#连接数据库
上传于||暂无简介
大小:826.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢我用vs2010连接数据库,新建了数据源后忘了复制连接字符串怎么找到?_百度知道
我用vs2010连接数据库,新建了数据源后忘了复制连接字符串怎么找到?
请详细一点
提问者采纳
你可以在 vs菜单栏 视图--&服务器资源管理器 中有个数据库连接右击添加你要连接的数据库就能找到连接字符串了
其他类似问题
为您推荐:
连接数据库的相关知识
其他2条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 vb数据库连接字符串 的文章

 

随机推荐