通常,我只会遍历使用Recordset.AddNew,但这在处理大型记录集时非常缓慢-有更好的方法吗?我希望有一种方法可以简单地编写一条插入语句,从Oracle转到Access,也许通过使用两个ADO连接,但是我能找到的唯一示例是在VB.net(使用OleDbCommand)中,可惜这不是选项。这仅仅是VBScript的限制吗?
谢谢!
最佳答案
您的问题标签包括access-vba,因此建议使用DoCmd.TransferDatabase Method。
该示例靠近页面底部,它是创建到SQL Server表的ODBC链接。它假定一个名为DataSource1
的DSN(数据源名称)。 Access中的链接名称将为Authors
,服务器源表的名称为dboAuthors
。
DoCmd.TransferDatabase acLink, "ODBC Database", _
"ODBC;DSN=DataSource1;UID=User2;PWD=www;LANGUAGE=us_english;" _
& "DATABASE=pubs", acTable, "Authors", "dboAuthors"
您可以使用适当的DSN使其适用于Oracle。如果要导入而不是链接,请用
acImport
代替acLink
。实际上,您甚至可能不需要代码。使用有效的DSN,您可以通过Access用户界面导入(或链接)。
您的标题提到了VBScript。告诉我们您是否实际上必须使用VBScript而不是VBA。
阅读您的评论后,我认为您最好使用其他方法。
创建一个具有到Oracle表的ODBC链接的数据库。
然后将该表数据的子集导出到您的单个数据库文件中。
SELECT master_link.* INTO local_table IN 'c:\somefolder\db1.mdb'
FROM master_link
WHERE location = 'location1';
然后针对每个目标数据库文件和数据选择标准调整SQL。从简单的VBA程序中轻松驱动它即可。
关于ms-access - 通过VBScript将数据从Oracle转移到MS Access的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440996/