java - Oracle 和 MS SQL Server 之间的桥梁

标签 java sql-server oracle database-design database-connection

我们正在制作一个依赖于机器的应用程序。
现在我们将应用程序部署在多台客户端计算机上,但问题是每个客户端都有来自不同供应商的数据库。目前我们正面临 SQL ServerOracle 之间的冲突。
我们的应用程序构建在 Oracle 数据库上,现在我们想要访问 SQL Server。有什么办法可以做到这一点,因为我对数据库不太专业,而且我不想更改不同数据库的查询和配置设置。

最佳答案

您需要的是提供一个提供数据库独立性的层。有多种方法可以做到这一点。

  • 您可以使用 ORM(对象关系映射)技术,例如 JPA(以 Hibernate 为例)。典型的 JPA 实现具有一系列不同数据库的后端。

  • 您可以通过(粗略地说)在不同 SQL 方言之间映射 SQL 语句来使用支持数据库独立性的现有产品。

  • 有些人建议使用 ODBC。

  • 您可以为每个后端数据库使用不同的 DAO 实现类来实现 DAO API。如果您尽可能坚持遵守 SQL-92 的 DDL 和 DML,那么 DAO 实现之间很可能会有很多共同点。 (JDBC 在 API 级别提供数据库独立性,前提是您不使用供应商特定的扩展。我记得 Oracle 的 JDBC 驱动程序以非标准方式执行操作时遇到问题......但它们现在可能已经齐心协力了。)

<小时/>

... I dont want to change the queries and configuration settings for different databases.

如果您使用 ORM 及其查询语言,则不必这样做。如果您使用 SQL 和 JDBC 实现数据库内容,那么很大程度上是分别坚持 SQL 标准和标准 JDBC API 方法的问题。

相关问题:

关于java - Oracle 和 MS SQL Server 之间的桥梁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15783472/

相关文章:

sql - 如何在plsql函数中调用函数

java - 以最低成本记录最佳网格路径

java - Servlet中jsp获取session属性值

java - 为什么我的 SELECT COUNT 查询不起作用?

sql - 有没有办法计算列中 NULL 之间的非空数量?

sql-server - 将多个数据从excel加载到sql SSIS

sql - 期望从 SQL 中的 XML.value() 返回 null,但得到 0

java - Websphere liberty 配置文件错误 : 404 SRVE0190E

sql - 用于分配金额的 Oracle 聚合函数

sql - Oracle SQL XMLAGG”问题