SQL Server Polybase使用列数据类型TIMESTAMP WITH TIME ZONE向Oracle创建外部表错误

创建的数据库范围凭证和Oracle OK的外部数据源。 无论我尝试使用哪种数据类型,都无法在Orcle表上使用TIMESTAMP WITH TIME ZONE列创建外部表。

CREATE EXTERNAL TABLE MYSCHEMA.MY_EXT_TABLE
(
    SOMECOL NVARCHAR(21) COLLATE Finnish_Swedish_BIN,-- OK
    SOME_DATETIME DATETIME2,-- OK
    SOME_DATE_COMM DATE,-- OK
    SOME_FLOAT float,-- OK

    SOME_TIMESTAMP datetimeoffset(7)  -- NOK
)
WITH
(
    LOCATION = N'ORACLEDATABASE.SCHEMA.TABLE',DATA_SOURCE = my_oracle_ds
)
GO

失败,出现错误: 消息105083,第16层,状态1,第2行 105083;用户定义的架构中的以下列与表'SOME_TABLE'的外部表架构不兼容:'SOME_TIMESTAMP'未能反映错误:'检测到的后端类型TIMESTAMP(6)WITH TIME ZONE不支持外部通用表。

我尝试使用datetime,datetime2,datetimeoffset,NVARCHAR,但发生相同的错误。 是否有针对多数据库/通用表的解决方法,还是我必须跳过这些列?

iCMS 回答:SQL Server Polybase使用列数据类型TIMESTAMP WITH TIME ZONE向Oracle创建外部表错误

CREATE EXTERNAL TABLE MYSCHEMA.MY_EXT_TABLE
(
    SOMECOL NVARCHAR(21) COLLATE Finnish_Swedish_BIN,SOME_DATETIME DATETIME2,SOME_DATE_COMM DATE,SOME_FLOAT FLOAT,SOME_TIMESTAMP TO_TIMESTAMP_TZ('America/Los_Angeles','TZR') 
) WITH ( LOCATION = N'ORACLEDATABASE.SCHEMA.TABLE',DATA_SOURCE = my_oracle_ds ) GO
本文链接:https://www.f2er.com/2083280.html

大家都在问