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

问题描述 投票:0回答:1

我正在运行此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

我该如何解决?谢谢

sql-server bcp
1个回答
0
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.