虽然ODBC驱动程序独立

时间:2015-02-04 05:57:36

标签: jdbc odbc

可以在DB层中使用oracle查询开发应用程序 借助ODBC驱动程序在SQLServer数据库上运行

2 个答案:

答案 0 :(得分:3)

也许,如果您只使用ANSI SQL语句。 ODBC会愉快地将查询文本发送到服务器上的查询解析器,只要服务器可以解析它,它就会运行。

但是,如果您使用了特定于Oracle的任何内容(这是一个冗长的列表),那么它将无法正常工作。

ODBC为您提供的是连接细节的抽象 - 驱动程序,服务器名称,端口号等。

那么,你如何获得真正的独立?通常,您将使用像Hibernate这样的查询生成库,它知道如何将某种查询语言(HQL)转换为该特定数据库(PL / SQL或Transact / SQL)的细节。

答案 1 :(得分:2)

简短回答:不可靠。

更长的答案:不是通过ODBC,而是使用JDBC driver for Microsoft SQL Server,如果应用程序是仅使用ANSI标准SQL开发的话。通常情况并非如此,并且将使用一些PL/SQL代码。如果可以写出等效的T-SQL,则可以移植应用程序。但是,对于您的问题,这对数据库连接机制来说基本上并不重要。

附录:对象关系映射工具通常使用方言来生成与数据库无关的查询。其他选项包括使用配置在运行时选择正确的查询(如果您需要支持两种数据库类型)。