- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个项目正在进行,它是关于从不同供应商的多个数据库查询数据(我的意思是使用一个查询语句同时查询 mysql、hsqldb、microsoft sql、oracle 等数据库)。虽然我已经通过顺序加载数据库连接器的每个驱动程序并在数据库中顺序执行查询来实现这一点。但是项目架构是这样的,当我发送查询语句时,它应该同时转到每个数据库并检索项目(如果在所有涉及的数据库中都可用)。我遇到了这个 unityjdbc 软件,一个中介软件,但不知道如何在我的 java 源文件中实现它以实现我的目的。我已经阅读了 unityjdbc 用户手册,但不清楚和直接。请任何人建议如何在我的 java 应用程序中实现这个 unityjdbc 驱动程序并使用它来成功查询多个数据库。也欢迎提出任何其他使用单个语句同时查询其多个数据库的方法的建议。
最佳答案
UnityJDBC 允许您在一个 SQL 查询中查询多个数据库。您不能使用单独的线程执行此操作,因为您将负责在 Java 程序中自己合并来自多个数据库的数据。
设置步骤很简单:
使用 SourceBuilder 应用程序指定数据库的 JDBC 连接信息。
测试访问多个数据库的示例查询。支持标准 SQL。要引用不同数据库中的表,请在 FROM 子句中使用 databaseName.tableName。
例如:
选择 *FROM Database1.Table1 T1 INNER JOIN Database2.Table2 T2 ON T1.id = T2.id
SourceBuilder 应用程序将提供一个 XML 配置文件作为输出,通常称为 sources.xml。要在您自己的 Java 程序或任何支持 JDBC 的软件中使用它,连接 URL 是:jdbc:unity://sources.xml
您可以指定 sources.xml 文件的绝对或相对路径。
在他们的网站上有文档 http://www.unityjdbc.com/support/或联系他们以获得免费支持。
另一种快速入门的方法是使用 MultiSource SQL Plugin开源查询软件SQuirreL SQL自带的。该插件将允许您在 SQuirreL 中使用 SQL 查询任意数量的数据库,并将生成 XML 配置文件供您在其他程序中使用。该插件是开源且免费的。该插件还支持查询和连接 NoSQL 数据库(如 MongoDB)与关系数据库(如 MySQL 和 Postgres)。
关于java - 如何在我的 Java 项目中实现 UnityJDBC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522010/
我有一个项目正在进行,它是关于从不同供应商的多个数据库查询数据(我的意思是使用一个查询语句同时查询 mysql、hsqldb、microsoft sql、oracle 等数据库)。虽然我已经通过顺序加
我是一名优秀的程序员,十分优秀!