0

我的 Azure Blob 存储中有一个 CSV 文件,其中包含所有列名及其相应表的数据数据类型。

我想从此 Blob 文件在 SQL 数据库中创建一个表,该表具有相同的列名及其相应的数据类型,而不进行映射。

我已经通过数据流创建了一个表,但我必须手动设置每一列的数据类型。但我不想这样做。当我创建一个表时,它应该接受源中相同的数据类型以及 CSV 文件中给出的同步。

[ 这是包含列名及其数据类型的 CSV 文件]

[ 在数据流中,源将所有列作为字符串]

当我导入架构时,它需要完整的列ID (int)和数据类型,String但是当我导入架构并创建一个表时,它会使用列名ID和数据类型,INT并且它将对多个表执行相同的所有列名。

如果您有解决此问题的方法,请告诉我。

4

1 回答 1

0

在数据工厂中,当我们从CSV 文件中复制数据时,我们设置first row as column,这意味着第一行数据将被设置为列名,id(int)Name(varchar). 如您所知,默认的列名数据类型是String(在数据工厂中)/ varchar(128)(在 SQL 数据库中),我们无法更改它。

在此处输入图像描述

我们不能创建以模式为列名的表!这个问题没有解决办法。

但是数据工厂会自动帮助我们为我们创建合适的列数据类型映射。

例如,如果您的 csv 文件是这样的:

在此处输入图像描述

自动架构映射会将“1”(字符串)转换1(int)为 Azure SQL 数据库。

希望这可以帮助。

于 2020-04-13T03:16:06.523 回答