zoukankan      html  css  js  c++  java
  • 实现程序所使用数据库的在线切换

     我的思路是利用System.Data.Common;不直接指定数据提供程序,通过传参的形式创造DbConnection类及DbCommand等等。

    代码也很简单,主要抓住这段就差不多了:

    Type tempType=Type.GetType("System.Data."+TypeName+",System.Data,version=2.0.0.0,Culture=neutral,PublickeyToken=b77a5c561934e089")

    object tempObj=Activator.CreateInstance(tempType);

    _connetion=(DbConnection)tempObj;

    TypeName就是传入的参数,如OleDb.OleDbConnection等,

    _connetion就是一个空的DbConnection,可以在类中把它作为属性输出。

    这样只要控制了 TypeName 就能实现数据库在线切换了,我们可以把TypeName和连接字段等烦放入xml或另一个数据库(我选择access)中,这样只要在管理后台实现对这个数据库的操作就可以切换程序的主数据库了。

    以上均在vs2005中通过。ms sql server2000 access 2003 oracle 9i 已测试通过

    希望能给一些朋友一些启示

     

     

  • 相关阅读:
    leetcode : 3 sum
    leetcode : Merge two sorted lists
    算法:海量数据问题
    计算机基础:数据库
    计算机基础:Linux
    Java:JVM
    Java:Basic/集合框架/多线程
    Java:面试题
    框架:SSM整合
    LeetCode: Tags-[Bit Manipulation]
  • 原文地址:https://www.cnblogs.com/lsjwzh/p/1087779.html
Copyright © 2011-2022 走看看