FIELDQUOTE = '"' 不适用于使用 OPENROWSET 的 DateTime2 字段

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

我正在使用 Azure Synapse Analytics 使用以下 SQL 创建视图,上面的数据来自帐户表,并使用 D365 中的 Synapse 带来,并以 csv 格式在 Azure Synapse 中自动创建:

CREATE VIEW dbo.Account
AS
SELECT *
FROM
    OPENROWSET(
        BULK 'https://tvrcrmsynapsedatalake.dfs.core.windows.net/dataverse-yvrqa-unqfb7eeea818cc47be9935441a489da/account/*',
        FORMAT = 'CSV',
        PARSER_VERSION = '2.0',
        FIELDTERMINATOR =',',
        ROWTERMINATOR = '0x0a',
        FIRSTROW = 1,
        FIELDQUOTE = '"'
    ) 
    with (
    [Id] uniqueidentifier 1, 
    [SINKCreatedon] DATETIME2(7) 2,
    [StateCode] BIGINT 4,
    [Name] VARCHAR(640) COLLATE Latin1_General_BIN2 134,
     [primarycontactid] uniqueidentifier 63
    )
    AS [account]

Microsoft 文档说要使用 FIELDQUOTE 但我收到任何 DateTime2 字段的错误。 https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/query-single-csv-file

错误信息: 从字节偏移量 0 开始的行的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。 .

如果我注释掉 [SINKCreatedon] 字段,我的视图可以很好地创建。但是我需要能够带回引号中的一些日期时间字段,有没有人遇到过这个问题并找到了解决方案?

sql azure dynamics-crm
© www.soinside.com 2019 - 2024. All rights reserved.