创建一个支持多个数据库的应用程序,例如SQL Server,ORACLE等

我正在尝试使用数据库的ODBC兼容代码创建应用程序。

  • 业务逻辑用C#编写。
  • 使用的数据库是Oracle 12c和11g和SQL Server。
  • 我正在使用:ADO.NET,OLEDB,ODP.NET,ODBC等

我的问题是,当我尝试将ODBC代码与Oracle 12C一起使用时,出现错误。

I have tried IDbConeection, IDbCommand etc but they have a problem in case of Oracle (Ref Cursor) and data types of different databases and also there is problem with the DBTypes.

因为它们的枚举对不同的数据提供者有不同的定义。

例如,对于布尔值,下面的链接显示我可以将SQL_BIT用作ODBC类型,但它甚至没有出现在智能感知中。

https://docs.oracle.com/cd/E15817_01/server.111/e10311/apa.htm

https://docs.oracle.com/cd/B19306_01/server.102/b14232/apb.htm

是否可以在不更改代码的情况下针对Oracle数据库使用相同的代码?

因为Oracle和SQL Server中的某些数据类型完全不同,所以代码也会引发错误。

有什么办法可以做到这一点?一些链接或指南,将不胜感激。