在JDBC连接URL中提供两个模式名称

时间:2012-02-07 14:34:25

标签: mysql jdbc database-schema birt

我的应用程序使用xml数据源文件来访问数据库。数据库中存在多个模式,访问任何模式都没有问题。

然而,我们已开始使用BIRT进行报告和图表生成,因此我面临一个非常典型的问题。

在BIRT中,我需要创建一个数据源文件。问题是它接受jdbc:connection url,我提供了DB的url ..但是随着URL它还要求我指定模式,否则BIRT显示没有值在数据集中。 我可以轻松指定一个模式名称,但我的查询使用两个模式,因此我无法找到相同的替代方案...创建一个联合数据集是一个选项但我的查询很复杂,通常它不是一个可行的选项我...

我指定的连接网址是: -

  

JDBC:MySQL的:// IP:端口/ SCHEMANAME someString

如何在我的jdbc连接URL中指定2个以上的模式.. ???如何在BIRT中的单个数据源中连接两个模式..

1 个答案:

答案 0 :(得分:3)

您正在从错误的一方解决此问题。 MySQL允许连接来自不同模式的表。您应该让它知道在什么模式下查找哪个表。您可以通过预先设置架构名称和'来实现。'在查询中的每个表名之前,例如:

SELECT db1.products.prod_id, db2.products.upc_code FROM db1.products LEFT JOIN db2.products ON (db1.products.prod_id=db2.products.prod_id)

在这种情况下,您需要在连接URL中指定任一架构的名称。