SQL Serverの使用2017テーブルに格納する単一のJSONドキュメントを含む単一のJSONファイルを解析する方法を理解しました。複数のJSONドキュメントの処理方法
しかし、多くのJSONドキュメントを含むファイルを処理できる必要があります。これを行う組み込み関数はありますか?あるいは誰でもこのことがどうやってできるのか説明できますか?
SQL Serverの使用2017テーブルに格納する単一のJSONドキュメントを含む単一のJSONファイルを解析する方法を理解しました。複数のJSONドキュメントの処理方法
しかし、多くのJSONドキュメントを含むファイルを処理できる必要があります。これを行う組み込み関数はありますか?あるいは誰でもこのことがどうやってできるのか説明できますか?
OPENROWSET(BULK)を使用すると、ファイルシステムからJSONファイルのセットをローカル変数に一度に1つずつ読み込むことができます。ファイルは多少自分自身を繰り返しbook<index>.json
DECLARE @i INT = 1
DECLARE @json AS NVARCHAR(MAX)
WHILE(@i < 10)
BEGIN
SET @file = 'C:\JSON\Books\book' + cast(@i AS VARCHAR(5)) + '.json';
SELECT @json = BulkColumn FROM OPENROWSET (BULK (@file), SINGLE_CLOB) AS j
SELECT * FROM OPENJSON(@json) AS json
-- Optionally, save the JSON text in a table.
SET @i = @i + 1 ;
END
命名されているものと、私は、私は、これは考え出したと思います。
select SQ1.* from OPENROWSET (BULK 'C:\Users\Username\Documents\SQL Server Management Studio\Projects\json_files\dev_AllJsonDownload.json', SINGLE_CLOB) as mytest CROSS APPLY OPENJSON(BulkColumn) WITH (...colA ...colB ...colC ...colN) as SQ1
:
私は自分自身を最初に明確にしていないかもしれませんが、私はこれを理解したと思います。 1.私は500個の個別のJSON文書のファイルを1つ作成しました 2.最初の行として括弧( "[")を、最後の行として閉じ括弧を手動で追加しました。 3.私は、ファイル照会するために、この構文を使用:。SQ1を選択 を '* OPENROWSET (BULKから 'C:\ SQL Server Management Studioの\プロジェクト\ユーザー名\ドキュメント\ Users \ユーザーjson_files \ dev_AllJsonDownload.json'、SINGLE_CLOBこれは私が望んでいたものを返さSQ1 ' として)などのMyTest CROSSは( ... ... ... )でOPENJSON(BulkColumn) を適用します。 – CarCrazyBen
@CarCrazyBen Awesome !!解決策を回答として投稿してください。 –