2011年7月5日 星期二

[筆記]SBS2011 SSIS From MSSQL 2008 to MySQL 5


SSIS很方便,但對MySQL一點都不友善
首先得先到MySQL下載安裝Connector/ODBC、Connector/Net
http://www.mysql.com/downloads/

接著要在MySQL主機或是每次連線先在MySQL主機執行
(使用資料來源(ODBC)可以在Detail > Interactive Client的Initial Statement設定連線執行,可以設定Globel或Session的sql_mode)

SET sql_mode = 'ANSI';

P.S. 加這個的原因是,SSIS都會自動幫所有欄位和資料表、資料庫前後加個「"」,不使用sql_mode='ANSI',所有語法通通都會錯誤

在SSIS的ADO.Net連結就會看到.Net提供者多了個「MySQL Data Provider」
BUT,選這個就讓我錯了快一個禮拜,被莫名的錯誤訊息困擾我=>Unknown column 'p1'....
從頭到尾也沒看到蝦米p1,卻被p1這莫名訊息困擾一週

最後查遍了Google大神,結果是還是得用Odbc Data Provider然後再去使用MySQL ODBC Driver
或是在系統管理工具->資料來源(ODBC)先做好連線

P.S. Unknown column 'p1'錯誤,主要是因為SSIS產生的語法是使用變數帶入,如INSERT INTO "Table" ("Col1", "Col2", ...) VALUES (p1, p2, ...),所以才會冒出莫名其妙的p1......

沒有留言: