使用vbscript使用单个ADO连接连接两个不同的数据库

时间:2015-05-06 13:44:15

标签: excel-vba vbscript ado vba excel

源文件是excel文件(Sheet1),目标文件是数据库(oracle sql developer)。我的要求是比较两个数据库并验证所有记录是否匹配,并在它们之间进行更多的逻辑比较。所以我从目标数据库(sql developer)复制了记录并将其存储在源文件(excel)的Sheet2中。我编写了一个vbscript来使用adodb连接字符串连接Excel文件并编写sql查询以使用连接查询比较记录。

示例查询:

SELECT srcTbl.Column_SH1_A, trgtTbl.Column_SH2_A, srcTbl.Column_SH1_B,
       trgtTbl.Column_SH2_B 
  FROM [Sheet1$] srcTbl, [Sheet2$] trgtTbl 
 WHERE srcTbl.Column_SH1_A = trgtTbl.Column_SH2_A 
   AND (srcTbl.Column_SH1_B <> trgtTbl.Column_SH2_B)

使用上面的程序,我可以比较来自不同数据库的记录,但我不想将记录从目标数据库移动到源文件(Excel中的Excel2),而是我想将Excel文件连接为一个连接,SQL开发人员作为另一个连接并直接使用上面连接查询中的两个数据库(而不是Sheet1和Sheet2,我想使用Excel数据库和SQL Developer数据库)。

有可能吗?如果没有,请您推荐任何其他解决方案。

1 个答案:

答案 0 :(得分:0)

我建议你做相反的事情,将Excel文件读入另一个SQL Developer数据库表,最好在与另一个表相同的模式中,并在脚本或数据库管理工具中执行sql。不可能使用不同的连接参数,例如一个连接字符串中的提供程序。