我想將數據從MS SQL Server數據庫傳輸到MySQL數據庫。所以,我向MS SQL添加了一個鏈接服務器,以便我可以使用Openquery將數據插入到MySQL數據庫中。我想優化數據傳輸的性能,並找到了提高MySQL中數據加載性能的指導原則。Openquery的特別聲明
一個優化包括禁用AUTOCOMMIT模式,但是我無法使用Openquery來完成。
我試過兩種方式:
SELECT * from openquery(MYSQL,'SET autocommit=0')
exec openquery(MYSQL,'SET autocommit=0')
和我:
無法處理對象 「設置自動提交= 0」。鏈接服務器「MYSQL」的OLE DB提供程序「MSDASQL」 指示對象 沒有列或當前用戶沒有該 對象的權限。
是否有可能通過openquery執行這樣的語句?
謝謝,邁克爾 -
謝謝。問題是我需要將大量數據傳遞給存儲過程,是否有可能?我需要插入數百萬行,將所有這些數據作爲參數傳遞給SP是個好主意嗎? –
請寫一個ETL過程。如果您擁有SQL Server,則擁有SSIS。寫一個包。如果沒有,看看PowerShell。兩種解決方案都將有效地移動數據鏈接的服務器通常比ETL慢。 –
我們已經將ETL用於其他東西,但我認爲問題仍然存在於ETL中(即無法更改會話屬性,如自動提交)。是對的嗎? –