【问题标题】:Connect two different databases with single ADO connection using vbscript使用 vbscript 通过单个 ADO 连接连接两个不同的数据库
【发布时间】:2015-05-06 13:44:15
【问题描述】:

源文件是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 中的 Sheet2),而是想将 Excel 文件作为一个连接进行连接, SQL developer 作为另一个连接,直接使用上述join查询中的两个数据库(而不是Sheet1和Sheet2,我想使用Excel数据库和SQL Developer数据库)。

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

【问题讨论】:

  • 您无法在 PLSQL 中以常规 SELECT .. JOIN 将 Excel 加入 Oracle。

标签: excel vbscript ado vba


【解决方案1】:

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

【讨论】:

  • 是的,这对于大型数据库来说更好,但我想如上所述合并连接,似乎不可能。感谢您的回复:)
  • 有很多可能的方法,但不是那一种,那你能接受答案吗?
猜你喜欢
  • 2022-07-26
  • 2019-08-11
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-25
相关资源
最近更新 更多