【发布时间】:2019-01-19 23:22:57
【问题描述】:
我使用的是通过 bcp 生成的 xml 格式文件,所以我认为不是这样。我的 .bcp 文件是 20 Gigs!这是我正在使用的批处理文件:
bcp MyInputDB.dbo.mytable format nul -S sourceserver\instance2 -c -x -f mytable.xml -t, -U user1 -P pw1
pause
title Start Time %time% Total number of rows is 275606414
bcp MyInputDB.dbo.mytable out "mytable2.bcp" -S sourceserver\instance2 -f mytable.xml -U user1 -P pw1 -c
echo Completed at %time%
pause
title Start Time %time% Total Number of Rows is 275606414
bcp MyOutputDB.dbo.mytable in C:\mypath\mytable2.bcp -S MyHostName\MyInstance -f mytable.xml -U user2 -P pw2
echo Completed at %time%
我明白了:
Starting copy...
0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 39500
我的 .bcp 文件的几行如下所示:
953 10 0 2019-01-12 19:09:41.480
953 20 0 2019-01-12 19:12:06.397
然而,mytable.xml 格式文件看起来像:
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="12"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="21"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="1"/>
<FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>
</RECORD>
这似乎不太合适。看起来它需要一个 .csv 文件。有什么办法可以将分隔符更改为制表符?
【问题讨论】:
-
您的文件示例中没有逗号,请尝试将格式文件中的逗号替换为
\t。
标签: sql-server tsql bcp