我的源表位于 Azure SQL Server 数据仓库中,有一个名为 Upline 的列,其数据类型为 varbinary(1000)。在位于同一 Azure SQL Server 数据仓库中的目标表中,数据类型和列名相同。我的问题出在填充目标表的 Azure 数据流中。
它不是将数据插入数据流中的接收器表,而是在我的数据仓库中创建一个新表。这是正在创建的表的创建语句
CREATE TABLE [Common].[T_7be15bb497654f0c8eeb82459912f178]
(
[EmployeeSK] [int] NULL,
[EmployeeLastName] [nvarchar](max) NULL,
[EmployeeFirstName] [nvarchar](max) NULL,
[EmploymentStatus] [nvarchar](max) NULL,
[HireDate] [date] NULL,
[OriginalHireDate] [date] NULL,
[TerminationDate] [date] NULL,
[CurrentPosition] [nvarchar](max) NULL,
[PreviousPosition] [nvarchar](max) NULL,
[WorkAssignmentEffectiveStart] [date] NULL,
[Region] [nvarchar](max) NULL,
[District] [nvarchar](max) NULL,
[Site] [nvarchar](max) NULL,
[OnSiteDepartment] [nvarchar](max) NULL,
[DepartmentName] [nvarchar](max) NULL,
[ManagerDayForceEmployeeNumber] [nvarchar](max) NULL,
[Upline] [varbinary](max) NULL,
[Lvl] [int] NULL,
[dimStartDate] [date] NULL,
[dimEndDate] [date] NULL,
[dimIsCurrent] [int] NULL,
[dimHash] [nvarchar](max) NULL,
[r7ace46966877481a90d6f8039c6524b5] [int] NULL
)
正如您从图片中看到的(如果您可以看到图片),该表为 Upline 列提供了 varbinary(max) 数据类型。为什么会这样?我怎样才能阻止它发生?当我将此列从源表和目标表中取出时,它可以成功运行。但是,我需要专栏。数据流具有以下活动:源、选择、派生列、代理键和接收器。它正在做非常简单的事情,并且在派生列中没有更改上线。
以下是来自运行数据流的管道的错误消息:“发现从 VarBinary(Max) 到 VarBinary(1000) 的隐式转换需要 ANSI 截断警告。不支持此操作。显式使用 CONVERT 函数来执行此请求。 " 派生列活动中没有转换功能,因此我无法执行它给出的建议。
列中数据的最大长度为 24(使用 Select len(max(Upline))FROM [source table] 找到)。
任何帮助,将不胜感激。谢谢。