2012-05-04 109 views
1

我想從MySQL複製表到SQL Server。SSIS MySQL複製表到SQL Server

使用MySQL連接的ADO.NET源代碼。

OLE DB目標,SQL Server。

該聲明是一個完整的副本,所以沒有什麼大不了的。當我點擊播放按鈕時,一段時間後彈出一個錯誤。我設置了DataViewer並重新開始,在檢查DataViewer的同時從DataFlow中運行它。過了一段時間(這一次花了更長的時間)錯誤。

enter image description here

Error: 0xC02090F5 at Data Flow Task, ADO NET Source 1 : The component "ADO NET Source" (1) was unable to process the data. Fatal error encountered during data read.
Error: 0xC0047038 at Data Flow Task, SSIS.Pipeline: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "ADO NET Source" (1) returned error code 0xC02090F5. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure.

此錯誤的任何想法?

+0

可能存在多個錯誤消息 - 請發佈 –

回答

5

這花了我幾天要弄清楚......所以我想我會分享我的筆記


如何從MySQL連接和加載數據到SQL Server

1 - 下載32位ODBC驅動程序。 轉到MySQL網站並下載:「mysql-connector-odbc-5.2.4-ansi-win32.msi」注意:不要在BIDS 2008上使用64位驅動程序.BIDS 2008是32位。在創建SSIS的連接管理器時,您會看到不匹配錯誤:「指定的DSN包含驅動程序和應用程序之間的架構不匹配」

2 - 創建用戶DSN您需要打開使用的Windows 32 ODBC管理工具。不要在控制面板中打開常規的ODBC管理員。打開位於此處的ODBC管理員:c:\ Windows \ SysWOW64 \ odbcad32.exe。如果您使用默認的ODBC管理員...它將無法工作。此外,您必須創建一個「用戶DSN」 - 不是系統DSN。否則它不會顯示在SSIS中注意:屏幕看起來是一樣的,所以你將無法知道你是否在32 BIT ODBC管理工具中。

3 - 創建一個新的SSIS包並創建一個ADO.NET連接管理器和ADO.NET SQL Server目標。

4 - 更改源ADO.NET屬性。你會得到驗證錯誤,你的包不會運行。您需要將ADO.NET源代碼的「ValidateExternalMetadata」更改爲FALSE(在「高級編輯器」對話框中)。它也會給出元數據錯誤...沒關係......只需單擊確定即可。它仍然會拉取元數據(列名/數據類型)。您不能像在SQL服務器中那樣選擇表格。您需要輸入SQL select語句。

5 - 運行包並運行並正常加載。