我正在尝试将csv文件大容量插入Server 2014。我设法找出它没有识别CSV文件中行字符的末尾。
我得到的错误是:
Msg 4864,级别16,状态1,过程spTempImport,第74行大容量加载数据转换错误(指定代码页的类型错配或无效字符),第1行,第51列(Val_0000)。
我在这里读过其他的文章,并且试过所有的文章,但我无法让它开始工作。
南太平洋区域委员会的情况如下:
USE [xxxxxxx]
GO
/****** Object: StoredProcedure [dbo].[spTempImport] Script Date: 26/07/2016 19:59:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[++++++++]
AS
BEGIN
SET NOCOUNT ON
CREATE TABLE #tmp (
--[BatchID] NVARCHAR(MAX) NOT NULL,
[ID] NVARCHAR(50) NOT NULL,
[Serial] NVARCHAR(30) NOT NULL,
[Date] VARCHAR(15) NOT NULL,
[Val_0030]NVARCHAR(15) NULL,
[Val_0000]NVARCHAR(15) NULL
)
BULK INSERT #tmp
FROM 'C:\Temp\test1.csv'
WITH
(
FIRSTROW = 1,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\r\n'
)
SELECT * FROM #tmp我试过使用\r \n \n \rn、CR\LF \ LF\CR和各种十六进制代码。我在excel中创建了该文件,并将其保存为CSV,但它没有工作。我把数据复制到记事本上,它无法识别线路的馈送/回车。
我做错了什么?
在代码示例中,val列与名称相同,[Val_0000]NVARCHAR(15) NULL是最后一列。
发布于 2016-07-26 19:51:17
我将SPROC中的列设置为VARCHAR(MAX),并且它工作了。
https://stackoverflow.com/questions/38598204
复制相似问题