Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jdbc ODBC驱动程序的独立性_Jdbc_Odbc - Fatal编程技术网

Jdbc ODBC驱动程序的独立性

Jdbc ODBC驱动程序的独立性,jdbc,odbc,Jdbc,Odbc,使用oracle查询开发的应用程序能否在数据库层中运行 在ODBC驱动程序的帮助下在SQLServer数据库上运行。简短回答:不可靠 更详细的回答是:不是通过ODBC,而是使用ODBC,如果应用程序仅使用ANSI标准SQL开发,则可能是这样。通常情况下,情况并非如此,并且会使用一些代码。如果可以编写一段等效的代码,那么就可以移植应用程序。但是,对于您的问题,这对数据库连接机制来说基本上是无关紧要的 附录:对象关系映射工具通常使用方言生成与数据库无关的查询。其他选项包括,如果需要同时支持这两种数据

使用oracle查询开发的应用程序能否在数据库层中运行
在ODBC驱动程序的帮助下在SQLServer数据库上运行。简短回答:不可靠

更详细的回答是:不是通过ODBC,而是使用ODBC,如果应用程序仅使用ANSI标准SQL开发,则可能是这样。通常情况下,情况并非如此,并且会使用一些代码。如果可以编写一段等效的代码,那么就可以移植应用程序。但是,对于您的问题,这对数据库连接机制来说基本上是无关紧要的


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

如果仅使用ANSI SQL语句,则可能会这样做。ODBC很乐意将查询文本发送到服务器上的查询解析器,只要服务器能够解析它,它就会运行

但是,如果您使用了任何特定于Oracle的内容,并且这是一个很长很长的列表,那么它就不会工作得那么好

ODBC提供给您的只是连接细节的抽象——驱动程序、服务器名称、端口号等


那么,你如何获得真正的独立呢?通常,您将使用一个查询生成库,如Hibernate,它知道如何将某种查询语言HQL转换为特定数据库PL/SQL或Transact/SQL的具体信息。

。。通过这个司机。。。我们无法实现查询代码独立性,但可以实现与相应数据库的连接。因此,我们也必须更改查询语法。。在这种情况下??是的,也许。在odbc中,语法不需要更改以支持基本查询,但是如果需要支持存储过程、准备好的语句,或者在单个请求中使用诸如多个查询之类的奇怪功能,则可能需要做一些稍微不同的事情。我对odbc还不太熟悉,不能发表权威性的评论,我还看到一些非常奇怪的对oracle JDBC的滥用。。。