我需要導出;從ms sql到ms訪問數據庫的不同表的多個查詢。將多個查詢導出到不同的表格
我知道這是可能採取的每個查詢,並將其導出到一個表,並重復同樣爲不同的查詢。
我想知道的是......它可以在一個伸展做什麼?
假設有三個查詢和每個查詢輸出需要在不同的表......在這種情況下,是有可能做一個單一的出口?
我需要導出;從ms sql到ms訪問數據庫的不同表的多個查詢。將多個查詢導出到不同的表格
我知道這是可能採取的每個查詢,並將其導出到一個表,並重復同樣爲不同的查詢。
我想知道的是......它可以在一個伸展做什麼?
假設有三個查詢和每個查詢輸出需要在不同的表......在這種情況下,是有可能做一個單一的出口?
我不知道你的意思。你可以把所有的SQL語句到一個批處理命令,而不是獨立執行的每一個,e.g:
insert into Table1 select ...
insert into Table2 select ...
insert into Table3 select ...
這些是直通查詢或Jet(訪問)查詢?如果它們是Jet查詢,則應該創建make表查詢並通過VBA將它們作爲批處理運行。如果您願意,可以在VBA中輕鬆構建make表查詢自己。下面是一個從鏈接的SQL Server表中獲取連接字符串的示例,但您可以填寫自己的連接字符串,它應該具有與鏈接表的連接屬性相同的格式。
Dim db As Database
Dim strSQL As String
Dim strConnect As String
Set db = CurrentDb
strConnect = db.TableDefs("dbo_test").Connect
strSQL = "INSERT INTO NewAccessTable (ID, Descr) " _
& "SELECT ID, Descr FROM [" & strConnect & "].[test] "
db.Execute strSQL, dbFailOnError
Debug.Print db.RecordsAffected
您可以將各個導出保存爲SSIS包,然後將它們合併到一個包中。
的出口甚至可以並行運行。
假設有三個查詢和每個查詢輸出需要在不同的表......在這種情況下,是有可能做一個單一的出口? – SmartestVEGA 2009-11-25 10:24:18
問題在於從哪裏運行,但Access/Jet/ACE無法在批處理中運行多個SQL語句 - 一次只能執行一個。鑑於Access/Jet/ACE的性質,即沒有服務器端序列化更新的過程,它應該是理所當然的,你不能這樣做(或者至少,你不能安全可靠地做到這一點)不要害怕破壞你的數據)。 – 2009-11-26 04:31:03
呵呵。每當我看到Access,我發現它不能做的另一件事。謝謝大衛。 :-) – 2009-11-26 08:28:57