賞金將在 3 天后到期。此問題的答案有資格獲得 50聲望賞金。 alakmar Shafin希望引起對這個問題的更多關注。
我正在使用 Synapse 無服務器池并在嘗試使用 CETAS 時遇到以下錯誤
訊息 15860,級別 16,狀態 5,行 3
外部表位置路徑無效。提供的位置:'https://accountName.blob.core.windows.net/ontainerName/test/'
我的作業區托管標識應該在存盤帳戶上具有所有正確的 ACL 和 RBAC 角色。我可以查詢那里的檔案,但無法執行 CETAS 命令。
CREATE DATABASE SCOPED CREDENTIAL WorkspaceIdentity WITH IDENTITY = 'Managed Identity'
GO
CREATE EXTERNAL DATA SOURCE MyASDL
WITH ( LOCATION = 'https://accountName.blob.core.windows.net/containerName'
,CREDENTIAL = WorkspaceIdentity)
GO
CREATE EXTERNAL FILE FORMAT CustomCSV
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (ENCODING = 'UTF8')
);
GO
CREATE EXTERNAL TABLE Test.dbo.TestTable
WITH (
LOCATION = 'test/',
DATA_SOURCE = MyASDL,
FILE_FORMAT = CustomCSV
) AS
WITH source AS
(
SELECT
jsonContent
, JSON_VALUE (jsonContent, '$.zipCode') AS?ZipCode
FROM
OPENROWSET(
BULK '/customer-001-100MB.json',
FORMAT = 'CSV',
FIELDQUOTE = '0x00',
FIELDTERMINATOR ='0x0b',
ROWTERMINATOR = '\n',
DATA_SOURCE = 'MyASDL'
)
WITH (
jsonContent varchar(1000) COLLATE Latin1_General_100_BIN2_UTF8
) AS [result]
)
SELECT ZipCode, COUNT(*) as Count
FROM source
GROUP BY ZipCode
;
如果我已經嘗試LOCATION了 CETAS 命令引數中的所有內容,但似乎沒有任何效果。檔案夾路徑,檔案路徑,帶和不帶前導/尾隨/等。
CTE 選擇陳述句在沒有 CETAS 的情況下作業。
我不能使用相同的資料源進行讀寫嗎?或者是別的什么?
uj5u.com熱心網友回復:
問題在于我的資料源定義。
根據以下鏈接將其https:\\更改為TSQL CREATE EXTERNAL DATA SOURCE時我使用的位置wasbs:\\
它描述了您必須使用的位置wasbs,abfs或者adl取決于您的資料源型別是 V2 存盤帳戶、V2 資料湖或 V1 資料湖
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468709.html
上一篇:如何動態獲取表中多行的總和
