C#ASP.NetでADO.Netを使用してSQL Server 2016ストアドプロシージャのパラメータとしてJSONタイプを渡す方法の例を挙げることができます。コアWeb APIプロジェクトですか? C#ASP.Net Core Web APIにSQL Server 2016ストアドプロシージャとJSON型のパスの例を見たいと思います。JSONタイプをSQL Server 2016ストアドプロシージャに渡すASP.NetコアプロジェクトでADO.Netを使用する
8
A
答えて
7
json
をvarchar
としてストアドプロシージャに送信するだけで、json data type
は存在しません。
jsonにテーブルをマップする場合は、OPENJSON
を使用して、rows
とcolumns
にデータを変換することができます。
CREATE PROCEDURE SaveJSON
@pID int,
@pJson nvarchar(max)
AS
BEGIN
INSERT INTO [YourTable]
([ID]
,[JSONData])
VALUES
(@pID
,@pJson)
END
あなたがテーブルでJSONオブジェクトをマップしたい場合は、この
//json would be something like this
[
{ "id" : 2,"name": "John"},
{ "id" : 5,"name": "John"}
]
INSERT INTO YourTable (id,Name)
SELECT id, name
FROM OPENJSON(@pJson)
WITH (id int,
name nvarchar(max))
Hereはあなたにjson data
0
SQLに対処するための詳細なアイデアを与えるだろう、非常に良いと詳しい記事で行うことができますサーバー2016にはネイティブなJSONサポートがあります。新しいJSONデータ型(nvarchar
に基づいています)と、クエリからの出力をJSON形式に変換するFOR JSONコマンド
Microsoftは別個JSONデータ型が含まれていない - その代わり、場合種類NVARCHAR(n)
の列上で動作するJSON機能の数が(JSONにデータベースの行をパッケージ化する、またはリレーショナルデータにJSONを解析する)が存在しますJSONテキストがある場合は、JSONからデータを抽出したり、組み込み関数JSON_VALUE
、JSON_QUERY
、およびISJSON
を使用してJSONが適切にフォーマットされていることを確認できます。より高度なクエリと分析のために、OPENJSON
関数はJSONオブジェクトの配列を一連の行に変換できます。返された結果セットに対してSQL問合せを実行できます。最後に、FOR JSON
節があり、クエリ結果をJSONテキストとして書式設定できます。
したがって、ストアドプロシージャのパラメータとしてNVARCHAR(MAX)
を使用することをお勧めします。
関連する問題
- 1. SQL Server 2016のwso2 cepストアドプロシージャ
- 2. SQL Serverで `JSON Path`をオプションで使用できます2016
- 3. SQL Serverでinsertストアドプロシージャを使用する
- 4. SQL ServerでRegExpを使用するストアドプロシージャ
- 5. Delphiを使用してSQL Serverストアドプロシージャのパラメータ名を渡す
- 6. SQL Serverストアドプロシージャのパラメータを使用してテーブル名を渡す
- 7. SQL Serverストアドプロシージャのパラメータを使用する
- 8. asp.netを使用してSQL ServerのストアドプロシージャにExcelシートデータを挿入
- 9. SQL Server 2016でSQL Server Integration Servicesサーバーを使用するとは何ですか?
- 10. SQL Server 2012でJSONを使用する
- 11. JSONデータでSQL Server 2016で2つのコレクションを結合する
- 12. Classic ADO.NetでASP.Net MVCを使用する
- 13. SQL 2016でJSONオブジェクトに値を追加する/ JSONオブジェクトを変更する(SQL Server JSONデータ)
- 14. オブジェクトのリストをSQL Serverストアドプロシージャに渡し、asp.netコアを使用してレコードを挿入します。
- 15. JSONをファイルからSQL Server 2016にロードする方法は?
- 16. SQL ServerのストアドプロシージャをFloatパラメータで使用して小数点を渡す
- 17. ストアドプロシージャ(c#バックエンド)を使用してjsonテーブルデータをSQL Serverデータベースに保存します
- 18. Asp.NetでMySQLストアドプロシージャを使用するC#
- 19. SQL Server 2016「JSON」の形式でJSONをネストした
- 20. 私はこのストアドプロシージャにビュー名を渡す方法SQL Serverでストアドプロシージャに2014
- 21. Jsonリストの比較 - SQL Server 2016
- 22. SQL Server 2016既存の列のJSON
- 23. Json行(.jsonlファイル)とSQL Server 2016
- 24. Asp.netコアプロジェクトでITempDataDictionayクラスを使用
- 25. SQL ServerサブスクリプションエラーSQL Server 2016
- 26. SQL Serverでテーブルを削除して作成する方法2016ストアドプロシージャ
- 27. ADO.NET Entity Frameworkでストアドプロシージャを使用する方法
- 28. json列のインデックスを作成する方法SQL Server 2016
- 29. ASP.NET WinFormからストアドプロシージャにパラメータを渡す
- 30. データベースをSQL Server 2008からSQL Server 2016にアップグレードする
非常に良い質問です。私も欲しい –
AFIAK、SQL Serverの2016はJSONデータ型を持っていないので、JSNをvarcharとしてストアドプロシージャに渡すだけです。ストアドプロシージャ内では、JSONデータの処理方法を知っている[組み込み関数](https://msdn.microsoft.com/en-us/library/dn921897.aspx)を使用できます。コード例は、[この記事。](https://blogs.msdn.microsoft.com/sqlserverstorageengine/2015/09/08/passing-arrays-to-t-sql-procedures-as-json/)で確認できます。 –
あなたの質問には2つの文章があり、どちらも*全く*同じことを言っています。あなたの質問のタイトルはまったく同じことを言います。あなたの質問をきれいにしてください。 – Tomalak