C# 同时支持两种数据库,SQL server与Oracle

在客户端写一条SQL语句同时支持两种数据库,SQL server和Oracle。两种数据库连接方式不一样怎么处理。

1、你的描述是错误的,项目需要的是两个jdbc的连接数据源,一个是oracle的,一个是sql server的。
2、如何实现呢,不是一个sql同时支持2种数据源,而是有2个数据源,有2套service,有2套dao层。
3、在你的controller中,调用oracle的service进行增删改查,然后在进行的sql server的增删改查。
4、有2套dao层,也就是执行你的sql的地方,虽然是一个逻辑,但是有2个sql,一个是oracle的,一个是sql server的。

直接写sql的话同一个不可能做到你所说的同时支持oracle和sqlserver,因为他们的语法略微不同,不过.net的EF框架可以做到,不用你写sql,框架会根据你的实体模型自动生成对应不同数据库的sql,你只要只要配置不同的DBFactory就可以

主程序定义一个接口,包括所有对数据访问的方法抽象出来。
再编写两个dll,引用主程序,从接口实现出两个类,分别把oracle mssql具体的访问代码写在里面。
主程序通过配置文件反射加载其中之一

用微软企业库进行数据库连接,其提供的Database可支持多种数据库。