批量插入CSV作为最后一列数据类型位

时间:2015-06-16 07:51:39

标签: sql-server csv ssis bulkinsert bit

我在SSIS中创建了一个包,最终必须在我们的数据库中批量插入一定数量的csv文件。 它适用于所有csv文件,除了一个。 必须在下表中插入此csv文件:

USE [CSDW_Base] GO

/****** Object:  Table [dbo].[CSDW_CSV_Diensten]    Script Date: 06/16/2015 09:45:40 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[CSDW_CSV_Diensten](
    [Dienst] [nvarchar](50) NULL,
    [Dienstsoortcode] [nvarchar](5) NULL,
    [Van] [datetime] NULL,
    [Tot] [datetime] NULL,
    [Weekend] [bit] NULL,
    [Feestdag] [bit] NULL
) ON [PRIMARY]

GO

如您所见,最后一列是[位]。 当我尝试运行包时,它会出现以下错误: 错误:第2行第6列(Feestdag)的批量加载数据转换错误(类型不匹配或指定代码页的无效字符)。

对于批量插入,我使用此查询:

BULK INSERT InTableName FROM'K:\ USER \ MyName \ csv package \ Csv bestanden'WITH(FIRSTROW = 2,FIELDTERMINATOR =';',ROWTERMINATOR =' \ r \ N')

我很确定它与'隐形字符'或类似的东西有关,因为如果我以[Tot] [datetime]是最后一列的方式更改表格和CSV,那就错了

你能帮我弄清楚为什么我的包认为我试图在Bit列中插入的不仅仅是'1'或'0'吗?而且,你能告诉我如何解决它:)

感谢。

0 个答案:

没有答案