gpt4 book ai didi

SQL Server 2005 - 批量插入失败

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

我有一个 txt 文件,其中包含 1600 行和 82 列的逗号分隔数据,我正试图将其导入到表格中。我在最后一个字段的每一行都收到以下错误:

消息 4864,级别 16,状态 1,第 1 行第 1 行第 81 列 (DB252D20C8) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。

导入语句是

BULK
INSERT [ENERGY].[dbo].[READINGS1]
from 'c:\readings2.txt'
with
(
DATAFILETYPE='widechar',
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO

表结构如下,脚本的顶部和底部:

USE [ENERGY]
GO
/****** Object: Table [dbo].[READINGS1] Script Date: 05/13/2013 20:00:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[READINGS1](
[DateAndTime] [datetime] NOT NULL,
[DB240D4C7] [float] NULL,
[DB240D8C7] [float] NULL,
[DB240D12C7] [float] NULL,
[DB240D16C7] [float] NULL,



[DB252D12C8] [float] NULL,
[DB252D16C8] [float] NULL,
[DB252D20C8] [float] NULL,
CONSTRAINT [READINGS1DataTimeStamp] PRIMARY KEY CLUSTERED
(
[DateAndTime] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

文本文件如下:

2013-02-19 00:00:00.000,6,945,1886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,2040,6299,0,0,6,567,1248,0,0,251,8859,8655,0,0,10,316,1786,0,0,7,180,1206,0,0,1,16,56,0,0,368,18953,36949,0,0,NULL,NULL
2013-02-19 01:00:00.000,6,147,1886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,1516,6299,0,0,3,115,1248,0,0,250,5077,8655,0,0,9,219,1786,0,0,5,147,1206,0,0,1,15,56,0,0,362,8907,36949,0,0,NULL,NULL

最佳答案

好的,所以您需要做的是更改语句,以便在文件结束后使用 KEEPNULLS。这会通知 SQL 服务器您希望保留空值。目前,它正在尝试将 NULL 作为字符串转换为您的 FLOAT COLUMN。将您的声明更改为如下所示。

BULK
INSERT [ENERGY].[dbo].[READINGS1]
from 'c:\readings2.txt'
with
(
DATAFILETYPE='widechar',
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
KEEPNULLS
)
GO

BOL 上有一篇文章对这个。 .

否则,您始终可以构建集成服务包来处理此问题。这是从平面文件源导入信息的简单快捷方式。

关于SQL Server 2005 - 批量插入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16529574/

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