【发布时间】:2021-03-05 04:57:56
【问题描述】:
我在尝试将文本文件导入数据库时遇到转换错误。以下是我收到的错误消息:
消息 4864,第 16 级,状态 1,第 1 行 第 1 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 2 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 3 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 4 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 5 行第 2 列(日期)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 6 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 7 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 8 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 9 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4864,第 16 级,状态 1,第 1 行 第 10 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
这是我的表格查询代码:
CREATE TABLE [dbo].[testpostingvoucher](
[ID] [int] NULL,
[date] [date] NULL,
[checkdigit] [varchar](max) NULL,
[credit] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
这是我的批量插入查询代码:
bulk insert [dbo].[testpostingvoucher]
from 'D:\HBL Scrolls\testbulk.txt'
with
(
fieldterminator = '|',
rowterminator = '.00|'
)
go
这是来自文本文件的示例数据:
YOUR ACCOUNT STATEMENT ACCOUNT NO : 0042-79000275-03 OF
FOR THE PERIOD ENDING: FEB01,2020 TO JUN30,2020 STATE LIFE, KARACHI BRANCH
CDGK-MAIN COLLECTION A/C ACCOUNT TYPE : NON-CHEQUEING A/C.
CMD HBL STATE LIFE CORPORATE CENTRE CURRENCY : Pakistan Rupee
STATE LIFE BUILDING NO-9 PRINTING DATE : 3-11-20
ZIA UDDIN AHMED ROAD FREQUENCY : INTERIM / DUPLICATE
KARACHI PAGE NO : 1
USER : HJ6201
-----------------------------------------------------------------------------------------------------------------
|DATE |VALUE |PARTICULARS | DEBIT| CREDIT| BALANCE |
|-------|-------|-----------------------------------|------------------|------------------|---------------------|
| | |BROUGHT FORWARD | | | .00 |
|01FEB20| |CMD CREDIT 0067031010700068 | | 2,042.00| 2,042.00 |
| | |14C.D.G.KC012386O00001 | | | |
| | |2386 | | | |
【问题讨论】:
-
value是否等于您的ID?如果不是,您在示例文本中的ID是什么? -
样本数据似乎与表格完全不匹配。
-
根本无法以您尝试的方式将文本文件导入表格。如果不知道您的目标以及您在导入您发布的文件 sn-p 后您期望表的内容是什么,就不可能提供有用的建议。
-
@SMor 我想将文件的特定数据插入表中,例如:日期:01FEB20 校验位:CMD CREDIT 0067031010700068 信用:2,042.00
标签: sql sql-server tsql bulkinsert