使用Enterprise Library将配置信息存储到数据库

版权申诉
0 下载量 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,数据库中的配置信息将决定数据访问的行为。 通过这种方式,配置信息的管理和更新变得更加集中和安全,因为它们不再存储在易于被修改的文本文件中。此外,这种方式也便于在多服务器环境中进行配置同步,提高了系统的可维护性。