Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure data factory 复制活动自动创建nvarchar(最大)列_Azure Data Factory_Azure Synapse_Copy Activity_Autocreate - Fatal编程技术网

Azure data factory 复制活动自动创建nvarchar(最大)列

Azure data factory 复制活动自动创建nvarchar(最大)列,azure-data-factory,azure-synapse,copy-activity,autocreate,Azure Data Factory,Azure Synapse,Copy Activity,Autocreate,我有Azure数据工厂复制活动,将拼花文件加载到Azure Synapse。接收器配置如下所示: 数据加载完成后,我有一个如下的暂存表结构: 然后,我基于stg one创建了临时表,它一直工作正常,直到今天,新创建的表突然收到了nvarchar(max)类型而不是nvarchar(4000): 临时表创建现在失败,出现明显错误: “currency_缩写”列的数据类型不能参与columnstore索引。” 为什么自动创建表定义已更改,以及如何在没有nvarchar(max)列的情况下将其返

我有Azure数据工厂复制活动,将拼花文件加载到Azure Synapse。接收器配置如下所示:

数据加载完成后,我有一个如下的暂存表结构:

然后,我基于stg one创建了临时表,它一直工作正常,直到今天,新创建的表突然收到了nvarchar(max)类型而不是nvarchar(4000):

临时表创建现在失败,出现明显错误: “currency_缩写”列的数据类型不能参与columnstore索引。”


为什么自动创建表定义已更改,以及如何在没有nvarchar(max)列的情况下将其返回到“正常”行为?

我遇到了完全相同的问题!我使用一个数据工厂将csv文件读取到我的Azure数据仓库中,这通常会产生nvarchar(4000)列,但现在它们都是nvarchar(max)。我也得到了错误 列xxx的数据类型不能参与列存储索引


我现在的解决方案是更改我的SQL代码并使用强制转换来更改格式,但数据工厂中必须有一个设置才能返回以前的结果…

我遇到了完全相同的问题!我使用一个数据工厂将csv文件读取到我的Azure数据仓库中,这通常会产生nvarchar(4000)列,但现在它们都是nvarchar(max)。我也得到了错误 列xxx的数据类型不能参与列存储索引


我现在的解决方案是更改SQL代码并使用强制转换来更改格式,但数据工厂中必须有一个设置才能返回以前的结果…

最后我决定了下一个解决方案:1)创建自动表的空副本,但使用nvarchar(4000)字段,2)从“with max”复制到“with 4000”,3)重命名“带max”到一些旧名字,“带4000到原点”到max“name 4)drop\u old\u name它工作正常,一个缺点是初始运行-复制所有表需要更长的时间,但下一次运行将使用新创建的具有正确结构的表。最后,我决定下一个解决方案:1)创建自动表的空副本,但使用nvarchar(4000)字段,2)从“with max”复制到“with 4000”,3)将“with max”重命名为某个_old_name,“with 4000”重命名为“origin”with max“name 4)删除_old_name它工作正常,一个缺点是初始运行需要更长的时间才能复制所有表,但下一次运行将使用结构正确的新创建表