错误是
转换varchar值时转换失败' b'数据类型int。
表格结构:
CREATE TABLE [dbo].[Table_1]
(
[columnA] varchar(50) NULL,
[ColumnB] int NOT NULL,
ColumnC int null
) ON [PRIMARY]
GO
INSERT INTO [dbo].[Table_1] ([columnA], [ColumnB], ColumnC)
VALUES (23, 56, 'b')
我的ETL管道记录所有错误。有些是有用的,例如
无法将值NULL插入列' ColumnB',table' DWDev.dbo.Table_1',列不允许空值。 INSERT失败'
虽然其他人相对无用。
如何提高我无法直接操作的错误信息的有用性,例如上面第一句中的错误信息?
答案 0 :(得分:0)
对于ColumnA DataType是Varchar(50),你需要用单引号装饰值而ColumnC Datatype是Int,你不能插入'B',它应该是一个整数值。
您提供的值顺序应与插入子句中指定的列顺序相同 您可以通过两种方式更正您的查询
INSERT INTO [dbo].[Table_1]
([columnA]
,[ColumnB]
,ColumnC)
VALUES
('23',
56,
1)
OR
INSERT INTO [dbo].[Table_1]
([ColumnB]
,ColumnC,
[columnA])
VALUES
(23,
56,
'b')