来源:Loveyuki 
Bitrac 程序内是直接引用了 System.Data.SQLite 这一命名空间,因为 ASP.NET 的特性,如果单独升级 SQLite 的库文件不重新编译程序那么程序运行时肯定无法找到所需要的程序集,因为版本号有了变化,而 Bitrac.Auto.dll 自动升级程序集也需要引用 SQLite 的库,但是我并不希望每次 SQLite 的库更新 Bitrac.Auto.dll 也要更新,那样会造成太多的不便,这时候就需要使用 ASP.NET 2.0 的一个新特性了,那就是 DbProviderFactories,Bitrac.Data.dll 依然使用旧的方法直接引用 SQLite 库。

首先在 web.config 文件里面增加:

  1. <system.data> 
  2.     <DbProviderFactories> 
  3.         <remove invariant="System.Data.SQLite"/> 
  4.         <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/> 
  5.     </DbProviderFactories> 
  6. </system.data> 


C# 使用以下代码就可以了:

  1. DbProviderFactory oFact = DbProviderFactories.GetFactory("System.Data.SQLite");  
  2.  
  3. using (DbConnection oConn = oFact.CreateConnection())  
  4. {  
  5.     oConn.ConnectionString = "数据库连接字符串";  
  6.     oConn.Open();  
  7.  
  8.     oConn.Close();  

其实 ASP.NET 程序支持多种数据库使用的也是这个方法。

此文章由 胡子 于 2009-06-03 19:39:04 编辑
引用通告:http://www.21pt.com/Article/751/Trackback.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)