以相同的方法读取 Oracle 和 SQL Server 数据库

本文关键字:SQL Server 数据库 Oracle 读取 方法 | 更新日期: 2023-09-27 18:33:24

我正在编写一个应用程序来读取第三方软件生成的数据库。问题是该软件可以使用SQL Server或Oracle数据库。

为了在SQL Server上阅读它,我使用了SqlConnection,SqlCommand,SqlDataReader等。

为了在Oracle上阅读它,我正在使用OracleConnection,OracleCommand,OracleDataReader等。

今天,对于必须对数据库执行查询的每个方法,我有两个版本,一个用于 Oracle,一个用于 SQL Server。

数据库真的很大很复杂,所以我有几十个基本相同的重复方法,唯一的区别是一个使用 Sql 数据库类,另一个使用 Oracle 数据库类。

我非常努力地思考一种不必复制每种方法的方法,但还没有得到任何线索。

有没有办法读取具有相同类的两种类型的数据库?或者有没有其他方法可以解决这个问题。

以相同的方法读取 Oracle 和 SQL Server 数据库

使用System.Data.Common classes。这里有一个例子。我使用这些类编写了一个名为 karkas 的 DAL 库,它支持以下数据库。

  • SQL Server
  • 神谕
  • Sqlite