使用Enterprise Library将配置信息存储到数据库
版权申诉
115 浏览量
更新于2024-07-03
收藏 361KB DOC 举报
"本文档主要介绍如何将配置信息从传统的配置文件转移到数据库中,使用Enterprise Library的SqlConfiguration Source实现这一目标。"
在IT行业中,管理应用程序的配置信息通常依赖于配置文件,如应用程序配置文件或外部配置文件。然而,将配置信息存储在数据库中可以提供更高的灵活性和安全性。Enterprise Library提供了一个名为ConfigurationSource的抽象概念,允许开发者选择不同的方式来存储和获取配置信息。在本文档中,我们将重点讨论如何利用SqlConfiguration Source将配置信息保存到数据库。
1. 编译SqlConfiguration
首先,你需要访问Enterprise Library的安装目录下的QuickStarts文件夹,并编译SqlConfiguration项目。编译完成后,需要将生成的dll文件(例如Microsoft.Practices.EnterpriseLibrary.SqlConfigurationSource.dll)以及设计时支持文件复制到你的应用程序的bin目录中。同时,还需要包含相关的XML配置文件和可能需要的COM互操作库(如Interop.MSDASC.dll)。
2. 创建数据表和存储过程
为了使用SqlConfiguration Source,需要在数据库中创建相应的结构。这通常涉及运行一个SQL脚本(如SqlConfiguration.sql)来创建一个名为`Configuration_Parameter`的数据表和四个相关的存储过程。确保在运行脚本前将其另存为Unicode格式,以避免编码问题。默认情况下,这些对象会被创建在Northwind数据库中,但你可以根据需求修改脚本以适应你的数据库环境。
3. 配置应用程序
完成数据库准备后,可以开始配置应用程序以使用SqlConfiguration Source。在新的项目中,添加对Enterprise Library的引用,并在应用程序的配置文件(如app.config或web.config)中设置SqlConfiguration Source。这通常包括指定数据库连接字符串、配置源类型以及可能的其他参数。
以下是一个配置示例:
```xml
<configuration>
<configSource>
<add name="DatabaseConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Configuration.Database.ConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Configuration.Database, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="MyConnectionString" />
</configSource>
</configuration>
```
在这里,`MyConnectionString`是你在`connectionStrings`部分定义的用于连接到数据库的字符串。
4. 使用应用程序块
配置完成后,你可以像平常一样使用Enterprise Library的应用程序块,但配置信息现在将从数据库中读取而不是配置文件。例如,如果你使用Data Access Application Block,数据库中的配置信息将决定数据访问的行为。
通过这种方式,配置信息的管理和更新变得更加集中和安全,因为它们不再存储在易于被修改的文本文件中。此外,这种方式也便于在多服务器环境中进行配置同步,提高了系统的可维护性。
2022-06-17 上传
2011-01-12 上传
2024-11-13 上传
2024-11-13 上传
2024-11-13 上传
2024-11-13 上传
2024-11-13 上传
2024-11-13 上传
老帽爬新坡
- 粉丝: 92
- 资源: 2万+
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载