为什么在azure数据工厂中默认的自动创建的sql表的列长度为-1?以及如何解决?

问题描述 投票:1回答:1

我正在尝试使用复制活动将数据从csv读取到azure sql db。我在接收器数据集属性中为目标表选择了自动创建选项。复制活动正常,但是所有列都使用nvarchar(max)或-1长度创建。我不希望将-1长度作为自动创建的接收器表列的默认长度。在Azure数据工厂中自动创建表时,是否有人知道如何更改列长或创建定长列?

azure azure-sql-database azure-data-factory sqldatatypes maxlength
1个回答
0
投票

您已经清楚地详细说明,复制数据活动中的auto create table选项将创建具有通用列定义的表。您可以首先以这种方式运行复制活动,然后返回目标表并运行T-SQL语句以进一步定义所需的列定义。没有选项可以使用auto create table选项定义表模式。

ALTER TABLE table_name ALTER COLUMN column_name new_data_type(size);

很显然,新的列定义必须与通过第一个复制活动最初复制的数据相匹配,但这是您结合auto create table选项并得到明确定义的列定义的方式。

如果您创建了一个Azure Data Factory UserVoice条目来请求自动创建表功能包括创建列定义,那么这将非常有用,它可以节省手动返回更改列以满足特定要求所需的时间,等等。

© www.soinside.com 2019 - 2024. All rights reserved.