2009-02-08 35 views
0

我剛剛從文本字段中將一些數據從MySql傳輸到MsSql(2K5),現在我的一些字符(如撇號)是? (問號),這表明某種排序規則或字符集錯誤,對吧?SSIS - 從MySql到MsSql的數據有些字符是?

說實話,我不知道是哪一個,我應該使用

MySQL數據庫字符集當期的是utf8_general_ci和MS SQL是SQL_Latin1_General_CP1_CI_AS。

我試圖改變MySQL表的字符集,以latin1_swedish_ci,但是這並不幫助

感謝輸入

回答

1

您是否嘗試過改變目標(SQL Server)的列數據類型NVARCHAR?

utf8_general_ci MySQL列上的排序規則指示Unicode數據類型。如果源代碼是Unicode,那麼應該是目標 - 爲了最簡單的過渡。

整理本身在這裏扮演一個小角色。他們只是影響比較和排序。

+0

你好,目標是一直nvarchar,它沒有任何區別。感謝您的回答tho – roundcrisis 2009-02-08 17:00:07

+0

您能否介紹一下過程中的相關技術細節?什麼MySQL/SQL Server版本,MySQL ODBC驅動程序版本,SSIS包/任務設置等?問號清楚地表明瞭處理鏈中某個點的字符集轉換。 – Tomalak 2009-02-08 17:13:33

0

您可能還需要檢查數據流中列的SSIS類型。請記住,數據類型和字符集是在源連接管理器上設置的(可能涉及從原始本機字符集轉換)。此外,像派生列或轉換之類的任何操作都會有一個字符集,它可以被修改,並且會保留在數據流中該列的沿襲位置。最後,當它到達目的地時,可能會有額外的字符集強制轉換。

相關問題