2011-05-02 64 views
3

有谁知道一个简单的SQL工具,它允许我做querys和整个使用JDBC/ODBC复式和不同的数据库(Oracle,SYBASE,syqlserver,...)加入跨越多个不同数据库的SQL查询工具?

喜欢的东西你yould与Visual FoxPro

orclConn = SQLCONNECT({oracle database connection string}) 
SQLEXECUTE(orclConn, [SELECT ... FROM oracle_table], 'oracle_cursor') 
fbConn = SQLCONNECT({firebird database connection string}) 
SQLEXECUTE(fblConn, [SELECT ... FROM firebird_table], 'firebird_cursor') 
SELECT ... FROM oracle_cursor, firebird_cursor ON {join condition} 

我需要做的检查进行的跨不同势的数据库,如“在另一个系统一个用户密码可用”

回答

0

您可以使用Oracle产品“数据库网关ODBC(DG4ODBC)”。我用它来连接以透明地从Oracle访问数据库 - 我不记得我是否加入了,我主要将它用于ETL。

我使用的另一种方法是Groovy - http://groovy.codehaus.org/ - 它使用jdbc,使用起来非常简单,虽然没有联接。

心连心

+0

与db链接,你可以做连接,但遗憾的是数据库网关是serverisde ...我只有一个受限用户...所以我不能在服务器端做这样的事情,我们的基础设施管理员不愿意:-)和本地安装的oracle数据库有点矫枉过正是不是?在groovy中,你不能加入,你可以加载设置到数组中的记录并加入它们......但是它的某种矫枉过正... – christian 2011-05-02 14:23:50

+0

@christian - 这取决于你需要多久做一次这样 - 我使用dg4odbc for一个迁移项目。同样在groovy中,您可以自己完成连接 - 从oracle_table中选择其中key = var_1并从firebird_table中选择其中key = var_1,然后查看您得到的答案是否相同 - 这取决于您的应用程序要求。 – daven11 2011-05-02 23:23:08

2

这里是一个tutorial on how to query multiple databases和不同的技术和选项。如果数据库不在同一台服务器上,请查看UnityJDBC。它可以让你写一个SQL查询,可以加入和比较来自不同数据库(MySQL和PostgreSQL,甲骨文,微软等)的数据