繁体   English   中英

使用 bcp 在日期时间加载数据错误

[英]using bcp to load data errors on datetime

我正在运行这个 bcp 命令:

/opt/mssql-tools/bin/bcp buyerhero_staging.dbo.mytable IN "/home/airflow/airflow/staging/site/Leads.txt" -F2  -U<<username>> -P<<password>> -S<<Server>> -t"|" -c  -r"0x0A" -e error.txt

此数据的最后一列是相同的日期时间值。

示例数据:

870950956|165452666|2020-05-07|Internet|ST|LOCATION|Description||9152768067|(Do Not Call Registry)|Robert Garcia||||||||||||1000|3|1|0.14|1959|Carport, 1 space|84800|915|276|||||||Address||Town|ST|79924|2020-05-15 15:11:16
870951459||2020-05-07|Internet|ST|LOCATION|Description||2672418667|(Do Not Call Registry)||||||||||||||||0.55|||6500|267|241|||||||Address||town|ST|32428|2020-05-15 15:11:16
870951519|169648811|2020-05-07|Internet|ST|LOCATION|Description||3153910470||||||||||||||1973|3|2|0.42|1962|Attached Garage, 2 spaces|195000|315|391|||||||Address||TOwn|ST|13212|2020-05-15 15:11:16

最后一列是日期时间YYYY-MM-DD HH:MM:SS并且它是相同的值。

但是我收到有关日期格式的随机错误:

1000 rows sent to SQL Server. Total sent: 1000
1000 rows sent to SQL Server. Total sent: 2000
1000 rows sent to SQL Server. Total sent: 3000
SQLState = 22008, NativeError = 0
Error = [Microsoft][ODBC Driver 17 for SQL Server]Invalid date format
1000 rows sent to SQL Server. Total sent: 4000
1000 rows sent to SQL Server. Total sent: 5000
1000 rows sent to SQL Server. Total sent: 6000
SQLState = 22008, NativeError = 0
Error = [Microsoft][ODBC Driver 17 for SQL Server]Invalid date format
1000 rows sent to SQL Server. Total sent: 7000
1000 rows sent to SQL Server. Total sent: 8000
1000 rows sent to SQL Server. Total sent: 9000
1000 rows sent to SQL Server. Total sent: 10000
1000 rows sent to SQL Server. Total sent: 11000
SQLState = 22008, NativeError = 0
Error = [Microsoft][ODBC Driver 17 for SQL Server]Invalid date format

如何解决数据格式问题? 如果我将列修改为 varchar,它工作正常,但我需要 datetime。

谢谢

更新 1

有人告诉我使用格式文件。 这是格式:

14.0
43
1       SQLCHAR             2       500     "|"   1     Lead_ID                                                                      SQL_Latin1_General_CP1_CI_AS
2       SQLBIGINT           1       8       "|"   2     Attom_ID                                                                     ""
3       SQLCHAR             2       500     "|"   3     Date                                                                         SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR             2       500     "|"   4     Data_Source                                                                  SQL_Latin1_General_CP1_CI_AS
5       SQLCHAR             2       500     "|"   5     Area_ST                                                                      SQL_Latin1_General_CP1_CI_AS
6       SQLCHAR             2       500     "|"   6     Area_Name                                                                    SQL_Latin1_General_CP1_CI_AS
7       SQLCHAR             8       0       "|"   7     Description_Ad                                                               SQL_Latin1_General_CP1_CI_AS
8       SQLCHAR             2       5000    "|"   8     Contact_Email                                                                SQL_Latin1_General_CP1_CI_AS
9       SQLCHAR             2       5000    "|"   9     Contact_Phone1                                                               SQL_Latin1_General_CP1_CI_AS
10      SQLCHAR             2       5000    "|"   10    Phone1_DNC                                                                   SQL_Latin1_General_CP1_CI_AS
11      SQLCHAR             2       500     "|"   11    Contact_Name1                                                                SQL_Latin1_General_CP1_CI_AS
12      SQLCHAR             2       5000    "|"   12    Contact_Street1                                                              SQL_Latin1_General_CP1_CI_AS
13      SQLCHAR             2       500     "|"   13    Contact_City1                                                                SQL_Latin1_General_CP1_CI_AS
14      SQLCHAR             2       5000    "|"   14    Contact_ST1                                                                  SQL_Latin1_General_CP1_CI_AS
15      SQLCHAR             2       500     "|"   15    Contact_ZIP1                                                                 SQL_Latin1_General_CP1_CI_AS
16      SQLCHAR             2       500     "|"   16    Contact_Phone2                                                               SQL_Latin1_General_CP1_CI_AS
17      SQLCHAR             2       500     "|"   17    Phone2_DNC                                                                   SQL_Latin1_General_CP1_CI_AS
18      SQLCHAR             2       500     "|"   18    Contact_Name2                                                                SQL_Latin1_General_CP1_CI_AS
19      SQLCHAR             2       500     "|"   19    Contact_Street2                                                              SQL_Latin1_General_CP1_CI_AS
20      SQLCHAR             2       500     "|"   20    Contact_City2                                                                SQL_Latin1_General_CP1_CI_AS
21      SQLCHAR             2       500     "|"   21    Contact_ST2                                                                  SQL_Latin1_General_CP1_CI_AS
22      SQLCHAR             2       500     "|"   22    Contact_ZIP2                                                                 SQL_Latin1_General_CP1_CI_AS
23      SQLCHAR             2       500     "|"   23    Square_Feet                                                                  SQL_Latin1_General_CP1_CI_AS
24      SQLCHAR             2       500     "|"   24    Bedrooms                                                                     SQL_Latin1_General_CP1_CI_AS
25      SQLCHAR             2       500     "|"   25    Bathrooms                                                                    SQL_Latin1_General_CP1_CI_AS
26      SQLCHAR             2       500     "|"   26    Lot_Size                                                                     SQL_Latin1_General_CP1_CI_AS
27      SQLCHAR             2       500     "|"   27    Year_Built                                                                   SQL_Latin1_General_CP1_CI_AS
28      SQLCHAR             2       500     "|"   28    Garage                                                                       SQL_Latin1_General_CP1_CI_AS
29      SQLCHAR             2       500     "|"   29    Price                                                                        SQL_Latin1_General_CP1_CI_AS
30      SQLCHAR             2       500     "|"   30    Phone1_PF_AreaCode                                                           SQL_Latin1_General_CP1_CI_AS
31      SQLCHAR             2       500     "|"   31    Phone1_PF_Prefix                                                             SQL_Latin1_General_CP1_CI_AS
32      SQLCHAR             2       500     "|"   32    Phone1_PF_City                                                               SQL_Latin1_General_CP1_CI_AS
33      SQLCHAR             2       500     "|"   33    Phone1_PF_ST                                                                 SQL_Latin1_General_CP1_CI_AS
34      SQLCHAR             2       500     "|"   34    Phone2_PF_AreaCode                                                           SQL_Latin1_General_CP1_CI_AS
35      SQLCHAR             2       500     "|"   35    Phone2_PF_Prefix                                                             SQL_Latin1_General_CP1_CI_AS
36      SQLCHAR             2       500     "|"   36    Phone2_PF_City                                                               SQL_Latin1_General_CP1_CI_AS
37      SQLCHAR             2       500     "|"   37    Phone2_PF_ST                                                                 SQL_Latin1_General_CP1_CI_AS
38      SQLCHAR             2       500     "|"   38    Property_Street                                                              SQL_Latin1_General_CP1_CI_AS
39      SQLCHAR             2       500     "|"   39    Property_Street_2                                                            SQL_Latin1_General_CP1_CI_AS
40      SQLCHAR             2       500     "|"   40    Property_City                                                                SQL_Latin1_General_CP1_CI_AS
41      SQLCHAR             2       500     "|"   41    Property_ST                                                                  SQL_Latin1_General_CP1_CI_AS
42      SQLCHAR             2       500     "|"   42    Property_ZIP                                                                 SQL_Latin1_General_CP1_CI_AS
43      SQLDATETIME         1       8       "0x0a"   43    LOADDATE                                                                     ""

第 43 列是我遇到问题的列。 该文件是 unix 内衬 utf-8。我得到的响应是:

Error = [Microsoft][ODBC Driver 17 for SQL Server]Unexpected EOF encountered in BCP data-file

我该如何解决? 谢谢

您的格式文件看起来不太正确。 您应该能够使用 BCP 本身生成它,例如:

bcp buyerhero_staging.dbo.mytable format nul -S <Server> -U <Username> -P <Password> -c -f mytable.fmt -t"|" -r"\n"

BCP 通常会忽略-r开关(记录分隔符)并在格式文件中写入"\r\n" ,所以您需要检查它并在这样做时将其替换为"\n" 然后您应该能够导入您的 Leads.txt 文件:

bcp buyerhero_staging.dbo.mytable IN Leads.txt -f MyTable.fmt -S <Server> -U <Username> -P <Password> -e error.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM