gpt4 book ai didi

sql-server - 使用 BCP 将 CSV 文件导入到 Azure SQL Server

转载 作者:行者123 更新时间:2023-12-03 02:43:29 24 4
gpt4 key购买 nike

我的 BCP 命令如下所示:

BCP azuredatabase.dbo.rawdata IN "clientPathToCSVFile" -S servername -U user@servername -P pw -c -t,-r\n

我的 CSV 文件采用 {cr}{lf} 格式。

我的 CSV 看起来像这样

125180896918,20,9,57.28,2020-01-04 23:02:21,282992,1327,4,2850280,49552
125180896919,20,10,57.82,2020-01-04 23:02:21,282992,1298,4,2850280,48881
125180896920,16,11,58.20,2020-01-04 23:02:21,282992,1065,4,2850280,48612
125180896921,20,12,69.10,2020-01-04 23:02:21,282992,515,4,2850280,10032
125180896922,20,13,70.47,2020-01-04 23:02:21,282992,1280,4,2850280,48766
125180896923,1,1,105.04,2020-01-04 23:02:21,,1296,4,2969398,49161

正如您所看到的,还有空字段。

我的输出看起来像这样

Starting copy...

0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 547

那么如何正确设置 BCP 命令?

最佳答案

您声明您的数据采用 CRLF 格式(即\r\n)。但是您的 bcp 命令被告知要查找\n 的行终止符(使用 -r 选项)。

我本来希望看到“\r\n”的实际 CRLF 行终止符的前半部分被分成两半,其中\r 包含在最后一列中,而\n 被发现作为行终止符,但看起来 BCP 没有加载任何行,因为它在您的文件中没有发现\n。

我没有太多使用Azure/BCP,所以也许其他人知道Azure的BCP将如何处理这个问题,但是BCP的SQL Server版本仍然会找到你的\n,然后将\r加载到你的最后一列中。

无论是那个还是你的行终止符现在都是你想的那样。您是否使用文本编辑器查看了该文件(不是记事本,不是写字板...可以显示隐藏字符,例如行终止符和制表符等)。

通常,当 BCP 不加载任何行(并且文件中有要加载的行)时,它可能与行终止符混合。

关于sql-server - 使用 BCP 将 CSV 文件导入到 Azure SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59838097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com