实现程序所使用数据库的在线切换

 我的思路是利用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 已测试通过

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

 

 

转载于:https://www.cnblogs.com/lsjwzh/archive/2008/03/09/1087779.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值