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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決預設方法衝突的規則
- 資料庫建庫時字符集和排序規則的選擇資料庫排序
- git 解決版本衝突問題Git
- android NestedScrollView和ListView衝突問題AndroidView
- wsl docker 和 ubuntu 衝突問題DockerUbuntu
- JAR衝突問題的解決JAR
- VMware無法啟動/VMware和wsl衝突問題/VMware與Hyper-V衝突問題
- jQuery.noConflict() 方法—— jquery庫與其他庫衝突的問題解決jQuery
- 資料庫表規範化問題資料庫
- Android 解決BottomSheetDialog 拖曳衝突問題Android
- GO 問題之多版本衝突解決Go
- 解決equal to 運算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS" 之間的排序規則衝突排序
- mapstruct結合lombok使用的衝突問題StructLombok
- 一個網路IP地址衝突的問題
- anaconda中python環境路徑衝突問題Python
- Git Worktree:解決分支依賴衝突的問題Git
- ScrollView巢狀RecyclerView滑動衝突相關問題View巢狀
- oracle 序列值導致的主鍵衝突問題Oracle
- PtrClassicFrameLayout與viewpager橫向滑動衝突的問題Viewpager
- sql:無法解決 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_Taiwan_Stroke_CI_AS" 之間的排序規則衝突。...SQLAI排序
- dcat-admin 資料列表排序問題排序
- 諮詢一個資料排序問題排序
- 解決gerrit commit後pull發生衝突的問題MIT
- ivew表格中render函式與tooltip:true衝突問題函式
- 【MySQL】批次修改排序規則MySql排序
- 如何解決邏輯刪除與資料庫唯一約束衝突資料庫
- 開閉原則OCP與KISS簡單原則衝突嗎? - macerubMac
- 修改防火牆規則,開放 Linux 的 3306 埠,外部訪問 MySQL 資料庫防火牆LinuxMySql資料庫
- 自動檢測ARouter路由地址分組使用衝突問題路由
- 簡單介紹Lombok使用@Tolerate實現衝突相容問題Lombok
- 資料庫常見問題資料庫
- openGauss資料庫分析問題資料庫
- 問題雜記:友盟分享 SDK 和 load 載入耗時統計衝突問題
- 資料結構初階--堆排序+TOPK問題資料結構排序TopK
- 演算法與資料結構——雜湊衝突演算法資料結構
- HTML中兩個tabs導航衝突問題的解決方法HTML
- 【MySQL】gh-ost改雙主表結構主鍵衝突問題MySql
- SQL資料庫開發中的SSIS 延遲驗證方法SQL資料庫
- PCL(9)PLC庫和OpenCV庫中的FLANN衝突OpenCV