sqlserver快速匯入匯出工具
由於客戶將sqlserver作為生產資料庫,所以最近半年時間一直在此下面做開發和學習。之前找開發工具也找了很長時間,最後總算找到一個比較喜歡的toad for mssql。
有次,需要將sqlserver的資料移植到oracle版本下,用oracle下的程式進行資料驗證。但是發現,toad for mssql的文字匯出實在太慢,600w的資料居然花了40多分鐘還沒導完,這樣的速度是無法容忍的。
經過大量的資料和查詢後,最後發現bcp這個工具。該工具匯出非常快速,同樣600w+的資料,只花了5分鐘左右的時間,全部匯出,而且符合格式要求。
參考命令如下:
bcp [table_name] out [file_name] -t "\t" -c -S [server_name] -U [username] -P [password]
含義如下:
[table_name]:表示要匯出的表;
out:表示匯出(in則表示匯入);
-t:表示以什麼作為欄位的分隔符。預設為製表符(即\t);
-c:表示以文字方式匯出;
-S:主機名;
-U:sqlserver使用者名稱;
-P:密碼;
更多資訊:
用法: bcp {dbtable | query} {in | out | queryout | format} 資料檔案
[-m 最大錯誤數] [-f 格式化檔案] [-e 錯誤檔案]
[-F 首行] [-L 末行] [-b 批大小]
[-n 本機型別] [-c 字元型別] [-w 寬字元型別]
[-N 將非文字保持為本機型別] [-V 檔案格式版本] [-q 帶引號的識別符號]
[-C 內碼表說明符] [-t 欄位終止符] [-r 行終止符]
[-i 輸入檔案] [-o 輸出檔案] [-a 資料包大小]
[-S 伺服器名稱] [-U 使用者名稱] [-P 密碼]
[-T 可信連線] [-v 版本] [-R 允許使用區域設定]
[-k 保留 Null 值] [-E 保留標識值]
[-h"載入提示"] [-x 生成 xml 格式化檔案]
[-d 資料庫名稱] [-K 應用程式意向]
該工具同樣適合於匯入,引數可以參考以上內容。但是,需要注意的是,bcp的匯入對日期型別會有問題。匯入報錯類似如下:
開始複製...
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]對於造型說明無效的字元值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]對於造型說明無效的字元值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]對於造型說明無效的字元值
BCP 複製 in 失敗
出現該問題的原因是bcp在處理日期型別的時候,無法識別類似12-1-2014和1-12-2014這樣的日期資料。似乎是bcp的一個bug,暫時也沒有找到有效的修復補丁。
可以嘗試在sql環境下用如下方式解決:
bulk insert table_name
from 'filename'--如:c:\filename.csv
with
( FIELDTERMINATOR ='\t', -- 分隔符
--ROWTERMINATOR ='\n',
KILOBYTES_PER_BATCH=5000,
firstrow=1
)
該方式匯入的速度極快,130w左右的資料,10s左右即可匯入。非常方便。
有關bulk insert的更多內容可參考官方文件:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-1096912/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer匯出匯入資料到MySQLServerMySql
- 【匯入匯出】Oracle 常用匯入匯出工具集錦Oracle
- 【匯出匯入】匯出匯入 大物件物件
- SqlServer 匯入 MySqlServerMySql
- java 匯入匯出Excel工具類ExcelUtilJavaExcel
- exp/imp匯出匯入工具的使用
- sqlserver匯入匯出文字檔案SQLServer
- Oracle exp/imp匯出匯入工具的使用Oracle
- 【匯入匯出】sqlldr 匯入案例SQL
- 【匯出匯入】% 在匯入匯出中的應用。
- spring boot + easypoi快速實現excel匯入匯出Spring BootExcel
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- Mysql匯入&匯出MySql
- Mysql匯入匯出MySql
- doris匯入匯出
- esayExcel匯入匯出Excel
- SQLServer 異構資料庫之間資料的匯入匯出SQLServer資料庫
- dmfldr快速匯出
- mongodb使用自帶命令工具匯出匯入資料MongoDB
- 【EXP/IMP】使用EXP /IMP工具“模糊”匯出和匯入
- 【EXPDP/IMPDP】使用 EXPDP/IMPDP工具“模糊”匯出和匯入
- MySQL資料匯入匯出方法與工具介紹MySql
- vue excel匯入匯出VueExcel
- navlicat 匯入匯出SQLSQL
- mysql 命令匯入匯出MySql
- BCP匯入匯出MsSqlSQL
- mysql匯入匯出慢MySql
- mysql 匯入、匯出命令MySql
- Oracle增量匯入匯出Oracle
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- 【匯入匯出】執行匯入,匯出時如何以as sysdba 身份連線。
- ASP.NET利用NPOI元件快速匯入匯出Execl資料ASP.NET元件
- SQLSERVER匯出TXT文字檔案,ORACLE SQL LOADER匯入TXT文字檔案SQLServerOracle
- Bug管理工具(TCE)之缺陷匯入與匯出
- 使用工具類 使用poi匯入匯出excel報表Excel
- SQLServer匯入大CSV檔案SQLServer
- Angular Excel 匯入與匯出AngularExcel
- 資料泵匯出匯入