如何使用一个 JDBC 驱动程序提供多个数据库的列表

How to provide list of multiple databases with one JDBC driver

目前我需要编写自己的 Type 2 JDBC 驱动程序。我正在编写的产品支持 ODBC 驱动程序,我可以使用 DBEaver 通过 JDBC-ODBC 桥连接到它。通过这个桥接,说明存在多个数据库,我运行sql查询成功。 为了创建 JDBC 驱动程序,我实现了 4 个接口 java.sql.Driver、java.sql.Connection、java.sql.Satement、java.sql.ResultSet。但是我找不到让驱动程序同时提供有关多个数据库的信息的方法。我用的是jdk1.6.0_16。如何让我的 JDBC 驱动程序为多个数据库提供服务?

您可以采取的最佳方法是创建不同的 connections,使用不同的用户名、密码、and/or 连接属性,一个用于您需要访问的每个数据库,并可能合并信息从您的 java 应用程序中的那些不同模式中获得。

作为替代方案,在某些数据库系统中,您可以授予对不同架构中的数据库对象的 schema/user 权限,即使是在不同的数据库中:因此,您可以向一个架构授予必要的权限,并且使用该模式访问其他模式。请注意这种 超级架构 方法可能带来的安全隐患。