企业库学习(1)--配置文件及数据库链接创建

来源:互联网 发布:国家基本药物 知乎 编辑:程序博客网 时间:2024/04/30 12:01

企业库学习(1)--配置文件及数据库链接创建

(2007-10-26 11:41:37)

标签:

IT/科技

微软

net

企业库

web

config

配置

分类:技术生命
 昨天和一同事在看我们使用的企业库配置文件。
与不使用企业库的数据访问模块的配置文件比较,add的值不是key而是name。这让我们一阵疑惑。
    vs2005的配置文件大致如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  
<configSections>
    
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
  
</configSections>
  
<dataConfiguration defaultDatabase="Connection String" />
  
<connectionStrings>
    
<add name="Connection String" connectionString="Database=EnterpriseLibrary;Server=shy;Integrated Security=SSPI;uid=sa;pwd=;"
      providerName
="System.Data.SqlClient" />
  
</connectionStrings>
</configuration>

配置元素大部分是.NET自动识别的元素。

1、configSections:包含元素有section。主要是企业库的版本信息等。

 configSections元素指定了配置节和处理程序声明。由于 ASP.NET不对如何处理配置文件内的设置作任何假设,因此这非常必要。但 ASP.NET会将配置数据的处理委托给配置节处理程序。

每个 section元素标识一个配置节或元素以及对该配置节或元素进行处理的关联ConfigurationSection 派生类。可以在 sectionGroup元素中对 section 元素进行逻辑分组,以对 section元素进行组织并避免命名冲突。sectionsectionGroup元素包含在 configSections 元素中。

如果配置文件中包含 configSections 元素,则configSections 元素必须是 configuration元素的第一个子元素。

可以配置的位置有:

Machine.config

根级别的 Web.config

应用程序级别的 Web.config

虚拟或物理目录级别的 Web.config

2、dataConfiguration :设置默认数据库。在创建数据库链接时,如果不指定数据库字符则默认创建这个数据库的链接。所以我们大部分配置和下面的connectionStrings字符串一样。(个人意见)

实例如下:

  //创建一个默认的数据库实例
            Database defaultdb = DatabaseFactory.CreateDatabase();
            
//创建一个名为Connection String的数据库实例
            Database db = DatabaseFactory.CreateDatabase("Connection String");
            
//上面两种创建数据库实例的方法的数据库可以是任何类型的数据库,取决于Config文件中的配置信息
            
//下面的这种方面展示了创建一个SQL数据库的实例,需引用Microsoft.Practices.EnterpriseLibrary.Data.Sql程序集
            SqlDatabase dbsql = DatabaseFactory.CreateDatabase("Connection String"as SqlDatabase;
            
//我们同样也可以不通过配置文件来创建数据库实例,如下
            string connString = "server=.;database=EnterpriseLibrary;uid=sa;pwd=";
            SqlDatabase nocofigdb 
= new SqlDatabase(connString);

不过在使用中,有时间会报错:未能找到元素“dataconfiguration”的架构信息。

好像是没有添加企业库dll的错误。应该要添加的引用:

    Microsoft.Practices.EnterpriseLibrary.Data.GenericDatabase
    Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase
    Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase

待续...................

 

 

 

http://blog.sina.com.cn/s/blog_4c7ae2a801000cma.html