我有以下脚本,从成功的数据库中读取记录:将SQL结果/记录直接写入另一个数据库?
sDSN = MyDSN
sUsername = username
sPassword = password
sSQL ="Select TOP 1 * myTable"
sDSN = "DSN=" & sDSN & ";UID=" & sUsername & ";PWD=" & sPassword & ";"
Set sConnect = CreateObject("ADODB.Connection")
WScript.Echo "Opening connection to source..."
sConnect.Open sDSN
Set resultSet = sConnect.Execute(sSQL)
On Error Resume Next
resultSet.MoveFirst
Do While Not resultSet.eof
WScript.Echo resultSet("ID") & "," & resultSet("SomeColumn") & "," & resultSet("SomeOtherColumn")
resultSet.MoveNext
Loop
resultSet.Close
sConnect.Close
Set sConnect = Nothing
这个伟大的工程,并输出类似以下内容:
1,值,值2
所以我想要做的就是把它写回另一个数据库。我意识到我可以手动编写一个指定每列的查询,但我想知道是否有一种方法可以将resultset()
插入到一个简单的命令中。
有谁知道这是可能的吗?这是CACHÉ,因为有人总是问:) :)
是啊,这是我在做什么。这很糟糕,因为我打算在多个表上执行此操作,这意味着我将不得不修改每个脚本的脚本。我想我可以得到resultSet的长度并做一个嵌套循环? –
要改进的唯一方法是使用信息模式表并做一些真正的工作来设置一个通用的数据库到数据库程序。另一种选择是进入.NET。然后,您可以使用数据适配器和表格以较少的列名键入来完成此操作。这是一个让你开始的链接;它只会转储到CSV,但可能工作。 http://greaterthancomputing.blogspot.com/2014/02/export-entire-database-to-csv-text.html – KingOfAllTrades