- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态改变EnterpriseLibary数据库访问链接字符串的两种方法.doc
动态改变EnterpriseLibary数据库访问链接字符串的两种方法
使用EnterpriseLibary做数据库访问底层是我一贯的做法,除了其能兼容多种数据库,且使用其进行数据库访问,对各种数据库操作均是透明的,基本不需要对特定的数据库进行操作,编写一次操作代码,基本在各种数据库都适用。对于一些特殊的数据库,很多同行已经编写出各种各样的扩展类库,直接适用即可。
言归正传,动态改变EnterpriseLibary数据库访问链接字符串一般在使用Access数据库、Sqlite数据库等文件式的数据库比较常见,因为我们不知道客户会把程序拷贝到哪里进行使用(即使是做了安装包,这样动态改变连接字符串的方式,也是一种很好的处理方式)。
1)第一种方式,使用前动态改变配置节点内容。
这种方式很常见,一般常用在Winform程序上,在使用程序访问数据库前,先根据当前的程序运行位置,修改配置项里面的内容,然后更新配置节点,从而达到可以应用最新配置信息的操作。
我们先来看看一个配置文件例子。
如果要修改更新其中的配置信息,具体代码如下所示。
string connectionString = string.Format(Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}Database1.mdb;User ID=Admin;Jet OLEDB:Database Password=;, System.AppDomain.CurrentDomain.BaseDirectory);
AppConfig config = new AppConfig();
config.SetConnectionString(DataAccess, connectionString);
//更新配置文件,以便起效
ConfigurationManager.RefreshSection(dataConfiguration);
ConfigurationManager.RefreshSection(connectionStrings);
ConfigurationManager.RefreshSection(appSettings);
其中数据库参数设置我封装在了公用类库的AppConfig配置类里面了,你也可以使用自己的操作进行修改。
这样更新操作后,数据库更新为正确的路径地址,我们在EnterpriseLibary里面就不用再做任何操作,就能正常访问操作数据库了。
2)第二种方式,在EnterpriseLibrary里面对连接字符串进行动态修改。
有时候,我们会碰到另外一种情况,就是程序虽然是使用Access数据库或者Sqlite数据库,但是需要在Web端部署,有无更方便的修改配置参数方式呢。
除了上面的一种方式,还有一种方式是在EnterpriseLibrary里面修改Database对象的连接字符串。
首先我们在配置文件里面,相对路径使用参数$Start$变量进行标识,使用连接字符串创建数据库的时候,我们替换这个变量,从而达到修改数据库字符串的目的。
然后我们定义一个创建EnterpriseLibrary的Database对象的方法,用来动态修改连接字符串。
/// summary
/// 根据配置数据库配置名称生成Database对象
/// /summary
/// returns/returns
protected override Database CreateDatabase()
{
Database db = null;
if (string.IsNullOrEmpty(dbConfigName))
{
db = DatabaseFactory.CreateDatabase();
}
else
{
db = DatabaseFactory.CreateDatabase(dbConfigName);
}
DbConnectionStringBuilder sb = db.DbProviderFactory.CreateConnectionStringBuilder();
sb.
您可能关注的文档
- 农业生态园区管理制度.doc
- 农村公路网规划布局设计方法探讨_过秀成.pdf
- 几种层合板壳分层后屈曲分析.pdf
- 分层教学的利弊A4.doc
- 分层教学的探索(省三).doc
- 分布式覆冰在线监测系统技术规范2015.doc
- 分析性推理一题.pdf
- 分析药物相互作用的LoeweAdditivity模型的误用与修正.pdf
- 切换掉话分析.doc
- 切换电容器交流接触器工作原理.doc
- 2025-2026学年初中数学九年级上册北师大版(2024)教学设计合集.docx
- 未来露营地智慧化服务系统在智慧旅游产业中的市场拓展策略研究.docx
- 2025至2030全球及中国网络故障排除软件行业市场深度研究及发展前景投资可行性分析报告.docx
- 2025-2026学年初中数学九年级上册沪科版(2024)教学设计合集.docx
- 形势与政策课件全国版.pptx
- 潮玩行业2025年二手交易平台合作伙伴关系分析报告.docx
- 碳中和目标下2025年能源互联网与新能源消纳能力提升报告.docx
- 2025年跨境电商健身器材仓储物流效率提升方案报告.docx
- 2025年交通行业新能源车辆推广与应用报告.docx
- 2025年瑞幸咖啡新零售门店智能化顾客服务流程分析报告.docx
最近下载
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 隧道施工课件.ppt VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- DB 6108T 53-2023 煤基固废调理剂修复沙化土地技术规范.docx VIP
- DB6108_T 52-2023 煤基固废调理剂修复盐碱地技术规范.docx VIP
- 行政人事部年终工作总结.pdf VIP
- 行政人事部年终工作总结.pptx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 化工厂物资明细表.xls VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库(浓缩500题).docx VIP
文档评论(0)