1

我一直在尝试设置 Azure 数据工厂(迄今为止未成功)。我有 2 个 Azure SQL 数据库,它们都在同一台服务器上(在同一个订阅中)

在这两个数据库中,我都有一个具有以下架构的表

CREATE TABLE [dbo].[Country_Boundaries]
(
    [Id] [nvarchar](255) NOT NULL,
    [Boundary] [geography] NULL,
    [Name] [nvarchar](255) NULL,
    [Centroid] [geography] NULL
)

我想使用数据工厂将数据从一个数据库表传输到第二个数据库中的同一结构化表。

数据工厂是否支持 Geography/Geometry 数据类型?

我还研究了使用 Azure 数据同步来执行此操作 - 不幸的是,表中的每一行对于单个数据同步事务来说都太大了(表包含使用地理数据类型的复杂国家边界)。

例子

No of Bytes
Scotland -   55,340,796
NorthernI -  2,149,616
England -    2,126,804
Wales -      705,266

我看到的另一种方法是使用引用表,但不幸的是,引用表也不支持 Geography/Geometry 数据类型。

4

3 回答 3

1

I would look at transforming the data into either Well known binary or well known text then pass that into adf and then use a sproc and table type to load the data in batches this gives you the ability to re transform the data ing geography dont forget to include the srid

于 2018-09-20T04:58:17.207 回答
0

以有限的方式支持 SQL 地理/几何,它们只能在 SQL 数据库之间传输。由于您的源 SQL 表和接收器 SQL 表具有相同的架构,

CREATE TABLE [dbo].[Country_Boundaries]
(
    [Id] [nvarchar](255) NOT NULL,
    [Boundary] [geography] NULL,
    [Name] [nvarchar](255) NULL,
    [Centroid] [geography] NULL
)

您唯一需要做的就是创建源数据集和接收器数据集以及复制活动。Copy 活动将 4 列数据从源传输到接收器。

于 2019-09-16T07:20:51.053 回答
0

数据工厂是否支持 Geography/Geometry 数据类型?

不,Azure 数据工厂目前不支持空间类型。通过复制向导选择要同步的表时,如果该表有任何空间列,您将收到错误:

处理请求时出错:列:位置,不支持数据类型。活动编号:[...]

或者,如果您选择多个表,其中一个具有空间列,您将收到错误:

某些表包含不受支持的数据类型或对象类型:[dbo].[Table]。请使用自定义查询排除它们。

于 2017-09-12T23:39:14.403 回答