数据库提供者


  为了适配不同的数据库,Fireasy 制定了 IProvider 接口,提供一些必要的方法。目前适配的数据库有:SqlServerOracleMySqlSQLitePostgreSqlFirebirdMariaDB(使用 MySql 适配),以及 OleDB 驱动。

  IProvider 的属性和方法如下:


1、ProviderName 属性

  用于识别及标识提供者的唯一名称。


2、DbProviderFactory 属性

  众所周知,ADO.NET 里有一个 DbProviderFactory 工厂类,它扮演着重要的角色,诸如 DbConnectionDbCommandDbParameterDbDataAdapter 等几个对象都由它创建。


3、GetConnectionParameter 方法

  该方法用于解析连接字符串对象中的一些重要参数,比如服务器地址、数据库名、用户名和密码。


4、UpdateConnectionString 方法

  该方法用于将修改后的参数更新到数据库连接串对象中,一般在动态调整这些参数时比较有用。


5、RegisterService 方法

  该方法用于将一些插件服务注册到提供者中。


6、GetService 方法

  该方法用于获取指定类型的插件服务实例。


7、PrepareConnection、PrepareCommand、PrepareParameter 方法

  分别用于修正 DbConnectionDbCommandDbParameter 对象。


8、AmendIsolationLevel 方法

  用于修正某些数据库所不支持的事务级别。比如 SQLite 不支持 ReadUncommitted 级别的事务。


💡 各数据库所使用的驱动

数据库 .Net Framework 应用 .Net Core 应用
SqlServer System.Data.SqlClient System.Data.SqlClient
MySql
MariaDB
MySql.Data
MySqlConnector
MySql.Data
MySqlConnector
Oracle Oracle.ManagedDataAccess
Oracle.DataAccess
System.Data.OracleClient
Oracle.ManagedDataAccess
Mono.Data.OracleClientCore
SQLite System.Data.SQLite System.Data.SQLite
Microsoft.Data.Sqlite
Spreads.SQLite
Firebird FirebirdSql.Data.FirebirdClient FirebirdSql.Data.FirebirdClient
PostgreSql Npgsql Npgsql

  注:如果安装了几种驱动,则按从上到下的顺序进行匹配。