Sql-Server
SSIS 中的數據流任務中的驗證警告
我正在嘗試使用數據流任務將數據載入到我的 DimEmployee 表中。但是,我注意到當我執行 SSIS 時,DimEmployee 填充了 9 條記錄中的 4 條記錄,並且 EmpKey 從 -1 開始計數,然後生成隨機數!執行包時我也有一個警告:
警告 1 驗證警告。數據流任務:{DC10B0CA-A6DE-4036-98A6-496811C09D4A}:由於從長度為 25 的數據流列“TitleOfCourtesy”插入長度為 8 的數據庫列“Title”中的數據,可能會發生截斷。 DimEmployee.dtsx 0 0
我在我的 SSMS 中創建了一個過程,它假設通過“未知”填充列中的空值
USE [NorthWindDW] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[Insert_New_Employee] AS BEGIN SET NOCOUNT ON; IF NOT EXISTS ( SELECT * FROM [dbo].DimEmployee WHERE EmpKey = -1 ) BEGIN SET IDENTITY_INSERT [dbo].[DimEmployee] ON INSERT [dbo].[DimEmployee] (EmpKey, EmpId,Title, EmpFirstName, EmpLastName, HireDate,Country, StoreCode, Telephone,JobTitle) VALUES (-1,-1,'UNKNOWN','UNKNOWN','UNKNOWN','1900-01-01', 'UNKNOWN','UNKNOWN', 'UNKNOWN','UNKNOWN'); SET IDENTITY_INSERT [dbo].[DimEmployee] OFF END END GO
這是我的 DimEmployee 表
Create Table [dbo].[DimEmployee] (EmpKey INT IDENTITY NOT NULL, EmpId INT NOT NULL, EmpFirstName NVARCHAR(50) NOT NULL, EmpLastName NVARCHAR(50) NOT NULL, Title NVARCHAR(8) NOT NULL, HireDate DATE NOT NULL, Country NVARCHAR(50) NOT NULL, StoreCity NVARCHAR(50) NOT NULL, Telephone NVARCHAR(25) NOT NULL, JobTitle NVARCHAR(50) NOT NULL); Go
您的警告看起來源於您的輸出列數據庫映射。‘TitleOfCourtesy’ 輸出列數據類型/長度需要匹配它映射到的 DimEmployee 中的任何列。
就 4 條記錄而言,我會看到第 5 條中的數據是什麼,因為這似乎是錯誤所在。每當我遇到您的問題時,它總是數據類型不匹配。