將TXT檔案 匯入 sqlserver資料庫
情景一:
資料庫已存在舊錶名 old_table,列名old_column_name。
將TXT檔案匯入資料庫已存在舊錶old_table中,匯入過程中需注意
資料來源中列名可全部不修改 或 全部修改列名為old_column_name(與old_table中列名一致)。
情景二:將源TXT檔案匯入資料庫,預設時以源TXT檔名建新表sourceFile_table;匯入過程中需修改資料來源中列名為
custom_column_name(自定義列名)
資料庫右鍵》任務》匯入資料(I)...》 --或者-- 開始》程式》Microsoft Visual Studio2008》匯入和匯出資料(**位)》
SQLServer匯入和匯出嚮導》
下一步》選擇資料來源
資料來源: 平面檔案源
常規
檔名(i): 瀏覽選擇TXT檔案
區域設定(L): 中文
內碼表(C): 65001(UTF-8) : 源TXT檔案編碼方式為UTF-8
936(ANSI/OEM-簡體中文 GBK): 源TXT檔案編碼方式為ANSI
格式(M): 帶分隔符
文字限定符(Q): <無>
標題行分隔符(R): {CR}{LF}
要跳過的標題行數(S): 可自定義
列
行分隔符(O): {CR}{LF}
列分隔符(C): 製表符{t}
高階
列名
Name
列名(可修改)
ColumnDelimiter
製表符{t}
DataType
據目標表的欄位型別定義
OutputColumnWidth
可自定義
TextQualified
True
預覽
要跳過的資料行數(A): 可自定義
下一步》選擇目標
目標(D): SQL Server Native Client 10.0
伺服器名稱(S): 需手動輸入“目標伺服器名稱”
使用SQL Server 身份驗證(Q)
使用者名稱(U): 需手動輸入
密碼(P): 需手動輸入
資料庫(T): 選擇已建的資料庫
下一步》選擇源表和源檢視
表和檢視(T):
源
目標
雙擊》列對映(可編輯)》當主鍵id自增時,選中 啟用標識插入
單擊》下拉框》可選擇目標表為(已存在表old_table 或者
預設時以源TXT檔名sourceFile_table建立新表)
》下一步》下一步》完成
-------------------------------------------問題一:將源TXT檔案sourceFile_table.txt,匯入資料庫已存在表old_table
原因:源TXT檔案sourceFile_table.txt中資料型別為varchar(50), 資料庫已存在表old_table中資料型別為nvarchar(50)
解決方法:修改表old_table中,對應欄位資料型別為varchar(50)
-------------------------------------------問題二:將TXT檔案 匯入 sqlserver資料庫後,欄位值中文亂碼
原因:源TXT檔案編碼方式,和資料庫編碼方式不一致
解決方法:檔案轉碼
方法1.源TXT檔案》右鍵開啟》檔案另存為》編碼(E):**》儲存
方法2.源TXT檔案sourceFile_table.txt、備份檔案backupFile_table.txt》將原始檔使用轉碼工具轉換》將備份檔案中資料複製到原始檔中。
PS:此GBK—UTF-8轉碼工具缺點(檔案轉碼並清空內容_需備份原檔案資料)
轉碼工具下載地址連結:https://pan.baidu.com/s/1m58zzI5ope9dIEOBnMlGXg 密碼:gin0
例項演示:將sourceFile_table.txt資料 匯入 資料庫表中
源TXT檔案sourceFile_table.txt編碼 ANSI
資料庫編碼 GBK
——————————————————————————情景一: 資料庫已存在舊錶名 old_table
資料庫右鍵》任務》匯入資料(I)...》 --或者-- 開始》程式》Microsoft Visual Studio2008》匯入和匯出資料(**位)》
SQLServer匯入和匯出嚮導》
下一步》選擇資料來源
下一步》選擇目標
下一步》選擇源表和源檢視
》下一步》下一步》完成
資料庫表dbo.old_table 右鍵》選擇前1000行(W) 》
————————————————情景二: 將源TXT檔案sourceFile_table.txt匯入資料庫後,生成新表sourceFile_table
資料庫右鍵》任務》匯入資料(I)...》 --或者-- 開始》程式》Microsoft Visual Studio2008》匯入和匯出資料(**位)》
SQLServer匯入和匯出嚮導》
下一步》選擇資料來源
下一步》選擇目標
下一步》選擇源表和源檢視
》下一步》下一步》完成
資料庫表dbo.sourceFile_table 右鍵》選擇前1000行(W) 》