我正嘗試使用SSIS將67,714,854行從MySQL傳輸到SQL Server。轉移14,282,990行後程序包超時。我也改變了超時屬性爲0,但這並沒有幫助。使用SSIS將數據從MySQL傳輸到SQL Server時發生超時問題
如何解決此問題?
我正嘗試使用SSIS將67,714,854行從MySQL傳輸到SQL Server。轉移14,282,990行後程序包超時。我也改變了超時屬性爲0,但這並沒有幫助。使用SSIS將數據從MySQL傳輸到SQL Server時發生超時問題
如何解決此問題?
是否MySQL給你的錯誤,或者你使用PHP(或其他語言)來傳輸數據和那超時?在後一種情況下,在PHP中可以設置腳本超時使用此爲無窮:
set_time_limit(0);
無論哪種方式,根據給出的信息,我不知道它是什麼類型的數據庫,但通常我會設置一個cron腳本來逐位傳輸數據,以便將負載保持在可接受的水平。請提供更多信息...
我的源代碼是mysql並且我的目標是sql server.i已經使用了selct從oledb源變換中的表中選擇所有列.CAn您告訴我如何以及什麼是cron腳本感謝您的回覆 – user779882 2011-06-01 19:37:26
好吧,如果您要使用SQL ,你不能寫一個cron腳本。 cron腳本基本上是一個讓系統自動以設定的時間間隔運行的腳本。這將允許您一點一點地移動數據。但是,這需要一個單獨的語言,如php,因爲它需要跟蹤最後一行被移動。 cron腳本將運行相同的代碼,並附加一個指示id(/ row)範圍的WHERE子句。你顯然可以手動做,但這可能很乏味。或者添加__WHERE id> = n1 AND id
在您的OLE DB目標連接上,您選擇了什麼「數據訪問模式」。如果您選擇了「表或視圖 - 快速加載」(這是默認設置),那麼將會指定「最大插入提交大小」。您可以嘗試以下兩種方法之一:1)將提交大小更改爲更大的數字;或2)嘗試其他數據訪問模式「表或vew」。由於您遇到了超時錯誤,我懷疑選項1可能沒有幫助(因爲您已經獲得了較小值的超時),所以請嘗試選項2.雖然這可能會導致性能下降,但實際上可能會完成成功。 (然後,您可以嘗試@ Siva的方法並將輸出分割到多個目標以提高性能)。
(注:我指的是什麼是在SQL Server 2008 R2提供,如果你使用以前的版本中,它可能會略有不同)
如果沒有上面的工作,你也可以嘗試通過運行SQL Server導入嚮導從頭開始創建一個新的SSIS包(在SQL Server Management Studio中右鍵單擊您的數據庫,然後選擇任務/導入數據。按照嚮導屏幕並接近尾部,確保選中了保存SSIS包,並選擇一個文件位置來保存它。通常,生成的SSIS包將是一個功能包(然後您還可以對其進行任何進一步的修改)
我發現一個黑客解決方案。這在查詢結束時有一個限制。我正面臨與連接到MySQL的ADO .NET連接相同的問題。雖然它不能解決問題。它至少可以完成工作。
SSIS:2208 R2。 MySQL:5.0
我有一個類似的問題,我的查詢將返回0行(應該已經大約39,000)。添加一個「LIMIT 10000000」使其工作。希望我知道爲什麼。 – Marcus 2015-10-28 16:06:48
如果您爲ssis付款,是不是與供應商支持? – 2011-06-01 17:30:27
任何原因不能分成七千萬行的轉移? – wallyk 2011-06-01 17:55:38