为了适应应对各种数据库间切换,我们有时想要要自定义写一个通用的SqlHelper。常用的做法就是在
系统数据。常见。dbproviderfactories。getfactory(dbProviderName).创建连接,来返回对应的数据库的连接。
直接上测试源码:
字符串dbProviderName='System .数据。odbc ';
dbProviderName='System .数据。OleDB ';
dbProviderName='System .数据。SqlClient ';
dbProviderName='System .数据。OracleClient ';
//引用系统数据。SQLite.dll
dbProviderName='System .数据。SqLite ';
//引用MySql .Data.dll
dbProviderName='MySql .数据。MySQL客户端';
//引用甲骨文。ManagedDataAccess.dll
dbProviderName='Oracle .manageddataccess。客户端';
DbProviderFactory dbfactory=DbProviderFactories .GetFactory(dbProviderName);
DbConnection dbconn=dbfactory .创建连接
dbconn .ConnectionString=字符串。空的;//数据库连接字符串
需要注意的配置配置:
?可扩展标记语言版本='1.0 '编码='utf-8 '?
配置
启动useegacyvruntimeactivationpolicy=' true '
supportedRuntime版本='v4.0' sku=' .NETFramework,版本=v4.0'/
supportedRuntime版本='v2.0.50727'/
/startup
系统。数据
数据库供应商工厂
移除不变量='系统数据。SQLite “/
添加名称='SQLite数据提供程序'不变='系统。数据SqLite”描述=.SQLite "类型="系统的。网框架数据提供程序。系统数据。SQLite “/
移除不变量='MySql .数据。MySQL client “/
添加名称='MySQL数据提供程序'不变='MySql .数据MySQL客户端”描述=.关系型数据库的。网框架数据提供程序"类型="MySQL .数据。MySqlClient。MySqlClientFactory,MySql .数据'/
移除不变量='甲骨文.”ManagedDataAccess。客户”
添加名称='甲骨文数据提供者'不变='甲骨文。的客户端"描述="甲骨文数据提供程序。NET "类型="甲骨文.管理数据访问客户端“managed data access ”/
/DbProviderFactories
/system.data
/配置
最后附上代码。