SSIS 資料庫排序規則衝突問題
使用SSIS進行ETL的過程中,你可能會遇到資料庫排序規則衝突的問題,這個時候就需要使用Data Flow中的元件Data Conversion. 我們常用的是將Unicode字元轉換為NonUnique字元,因為簡體中文Chinese_PRC_CI_AS對為NonUnique. 這樣就可以將字元進行轉換,最終寫到目的表中。
那麼除了這樣的方式,最容易想到的就是在資料庫建立表的時候就已經對排序規則進行了定義。對於資料庫排序規則的語法如下:
CREATE TABLE [dbo].[Stg_Daily_Vist](
[Date] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[Time] [varchar](5) COLLATE Chinese_PRC_CI_AS NULL,
[SelectPeriod] [int] NULL
) ON [PRIMARY]
這樣就可以在Data Flow Task 中直接將Source File的欄位匯入目的表。
SQL Server中的中英文排序規則:
Chinese (Hong Kong) |
0x20c04 |
Chinese_Hong_Kong_Stroke_90_CI_AS |
950 |
Chinese (Hong Kong S.A.R.) |
0xc04 |
Chinese_Hong_Kong_Stroke_90_CI_AS |
950 |
Chinese (Macau S.A.R.) |
0x1404 |
Chinese_PRC_90_CI_AS |
950 |
Chinese (PRC) |
0x804 |
Chinese_PRC_CI_AS |
936 |
Chinese (PRC) |
0x20804 |
Chinese_PRC_Stroke_CI_AS |
936 |
Chinese (Singapore) |
0x1004 |
Chinese_PRC_90_CI_AS |
936 |
Chinese (Taiwan) |
0x404 |
Chinese_Taiwan_Stroke_CI_AS |
950 |
Chinese (Taiwan) |
0x30404 |
Chinese_Taiwan_Bobomofo_CI_AS |
950 |
English (Australia) |
0xc09 |
Latin1_General_CI_AS |
1252 |
English (Belize) |
0x2809 |
Latin1_General_CI_AS |
1252 |
English (Canada) |
0x1009 |
Latin1_General_CI_AS |
1252 |
English (Caribbean) |
0x2409 |
Latin1_General_CI_AS |
1252 |
English (Hong Kong S.A.R.) |
0x3c09 |
Latin1_General_CI_AS |
1252 |
English (India) |
0x4009 |
Latin1_General_CI_AS |
1252 |
English (Indonesia) |
0x3809 |
Latin1_General_CI_AS |
1252 |
English (Ireland) |
0x1809 |
Latin1_General_CI_AS |
1252 |
English (Jamaica) |
0x2009 |
Latin1_General_CI_AS |
1252 |
English (Malaysia) |
0x4409 |
Latin1_General_CI_AS |
1252 |
English (New Zealand) |
0x1409 |
Latin1_General_CI_AS |
1252 |
English (Philippines) |
0x3409 |
Latin1_General_CI_AS |
1252 |
English (Singapore) |
0x4809 |
Latin1_General_CI_AS |
1252 |
English (South Africa) |
0x1c09 |
Latin1_General_CI_AS |
1252 |
English (Trinidad) |
0x2c09 |
Latin1_General_CI_AS |
1252 |
English (United Kingdom) |
0x809 |
Latin1_General_CI_AS |
1252 |
English (United States) |
0x409 |
SQL_Latin1_General_CP1_CI_AS |
1252 |
English (Zimbabwe) |
0x3009 |
Latin1_General_CI_AS |
1252 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14321372/viewspace-567449/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sql Server 聯合查詢的排序規則衝突SQLServer排序
- 更改系統資料庫的排序規則資料庫排序
- SSIS Package 命名規則Package
- 解決預設方法衝突的規則
- List資料多重規則排序排序
- IP衝突 資料庫時斷時續資料庫
- JAR衝突問題的解決JAR
- git 解決版本衝突問題Git
- wsl docker 和 ubuntu 衝突問題DockerUbuntu
- 資料庫建庫時字符集和排序規則的選擇資料庫排序
- 關於資料庫緩衝池的問題資料庫
- GO 問題之多版本衝突解決Go
- SSIS中匯入Excel資料到資料庫的一個常見小問題Excel資料庫
- 資料庫表規範化問題資料庫
- 資料庫物件命名規範問題....資料庫物件
- jQuery多庫衝突jQuery
- 安裝MySQL 5.6.10包衝突問題MySql
- android NestedScrollView和ListView衝突問題AndroidView
- 解決equal to 運算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS" 之間的排序規則衝突排序
- 資料庫升級問題處理一則資料庫
- ssis 寫檔案到資料庫資料庫
- jQuery.noConflict() 方法—— jquery庫與其他庫衝突的問題解決jQuery
- sql server連線排序衝突處理SQLServer排序
- 一個網路IP地址衝突的問題
- Maven中解決依賴衝突的問題Maven
- oracle客戶端同sap衝突的問題Oracle客戶端
- jQuey與json.jar的衝突問題JSONJAR
- mapstruct結合lombok使用的衝突問題StructLombok
- 資料庫補丁衝突解決方案 (文件 ID 1674432.1)資料庫
- 【MySQL】資料庫字元校對規則MySql資料庫字元
- 海量資料遷移之衝突資料篩查
- Android 解決BottomSheetDialog 拖曳衝突問題Android
- PtrClassicFrameLayout與viewpager橫向滑動衝突的問題Viewpager
- 如何解決jQuery的美元$符號衝突問題jQuery符號
- jquery如何解決版本之間衝突的問題jQuery
- 如解決jquery與原生js衝突的問題jQueryJS
- 關於click事件與touch事件衝突的問題事件
- oracle 序列值導致的主鍵衝突問題Oracle