bcp導入導出數據發生異常解決方案
來源:程序員人生 發布時間:2013-12-03 06:18:51 閱讀次數:3623次
用BCP導出的數據,經常會遇到"遇到EOF","字符串右截斷"之類的錯誤.
這些錯誤信息又很模糊, 很難一下子定位到底是什么錯誤.
我總結了一下, 自己遇到的幾種情況
1.表結構不同
2.bcp版本不一致, 在處理某些類型的時候,導致錯位(比如sql2000中沒有varchar(max), 只有在sql2005中才有)
3.字段類型一致, 字段長度一致, 但是Nullable不同, 也會導入失敗
快速檢查出, 導入導出的2個表結構, 是否一致, 用下面的命令
bcp {DBName.dbo.Table} format nul -n -f aa.txt -S %DBSERVER% -U"%DBUSERNAME%" -P"%DBPWD%"
返回的數據內容
9.0
10
1 SQLINT 0 4 "" 1 ID ""
2 SQLINT 1 4 "" 2 User_Accounts ""
3 SQLINT 1 4 "" 3 MoneyNum ""
4 SQLINT 1 4 "" 4 EventID ""
5 SQLNCHAR 2 400 "" 5 Describe Chinese_PRC_CI_AS
6 SQLDATETIME 1 8 "" 6 EventDate ""
7 SQLINT 1 4 "" 7 ServerID ""
8 SQLINT 1 4 "" 8 ServerType ""
9 SQLNCHAR 2 400 "" 9 Remark Chinese_PRC_CI_AS
10 SQLINT 0 4 "" 10 CurrentDianQuan ""
第一行是BCP版本, 導入導出的時候, 最好要一致.
第二行是字段數量
第三行開始, 導入導出的2臺電腦上, 這2個文件的所有字段信息都要一致, 就能解決導入出錯的各種異常了.
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈