問題タブ [sqlxml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
17171 参照

sql - SQL Server 2008 ストアド プロシージャで OPENXML を使用する - INSERT 順序が XML ドキュメントと異なる

SQL Server 2008 の XML 解析機能を使用して、XML ドキュメントを繰り返し処理し、要素ごとに INSERT を実行しています。

ただし、ストアド プロシージャは、ドキュメント内の順序とは異なる順序で各要素をテーブルに挿入しているようです。

さらに、これを何度も試してみると、INSERT の順序が変わるようです。

XML ドキュメントのサンプルを次に示します。ここでは、特別なことは何も行っていません。

<t/>ストアド プロシージャにはいくつかの操作が行われていますが、要素を挿入してから要素を挿入する SQL だけを残して、他の部分をコメント アウトしました<tv/>

ストアド プロシージャ内の SQL は次のとおりです。

(@xmlTransactionNVARCHAR (MAX)上記の XML を含む入力パラメーターです)

かなり簡単なはずです。それでも、結果を照会すると、それらは XML ドキュメントと同じ順序ではありません。要素の 2 番目の INSERT ステートメントは、<tv/>要素を 2 番目のテーブルに正しい順序で格納しますが、 要素は正しい順序でテーブルに格納されませ<t/>

<t/>要素が XML ドキュメントに表示されるのと同じ順序でテーブルに INSERT されない理由を誰か説明できます か?

0 投票する
2 に答える
1847 参照

sql - 大きな(1 GB)xmlファイルの有効なスキーマを取得します

巨大なxmlファイルをSQLServer2005に一括ロードする必要があります。C#アプリでSQLXMLBULKLOADを使用することにしましたが、それらをロードするには、それらのxmlファイルの有効なxsdスキーマを取得する必要があります。xsdファイルを生成するための最良の方法はどれですか?MS VS xsd.exeを試しましたが、ファイルをメモリに読み込もうとすると、OutOfMemory例外が発生します。

ありがとう!

0 投票する
1 に答える
219 参照

sql-server - 結合結果を介した XML 値メソッドへのパラメータ

ビューで xml 列を細断し、その列から情報を抽出しています。私のビューは現在、local-name((/*)[1] で大規模な CASE ステートメントを実行して、XML のルート ノードの名前を取得しています。次に、xml にドリルダウンして、CASE に基づいて特定の値を取得しています。 .

例えば

このケース ステートメントは非常に大きく、扱いにくいものです。

私がやろうとしたことは、CASE で評価しているアイテムを含む CTE に辞書を作成し、次に XML 値メソッドに提供したいパラメーター値を作成することです。たとえば、上記の例の場合、CTE ディクショナリには次のものが含まれます (そして、CTE はメインの外部クエリに正しく結合されます)。

case ステートメントを回避するためにビューで CTE を使用しようとすると、次のようになります。

次のエラーが表示されます: XML データ型メソッド「クエリ」の引数 1 は、文字列リテラルでなければなりません。

一言で言えば、XML 値メソッドは定数文字列を要求しているようです。とにかくこのあたりはありますか?

0 投票する
1 に答える
815 参照

sql-server - SQL Server への XML 一括読み込みの問題

XML Bulk Load (SQL Server 2008) を使用しようとしています。私はほとんどそこにいますが、私のスキーマファイルが間違っていると思います. 私が得ているエラーはこれです:

VBS エラー メッセージ

ここに私が持っているものがあります:

SQL テーブル構造:

SQL テーブル構造

スキーマ ファイル:

XML ファイル:

そして、私が使用しているVBScript:

0 投票する
2 に答える
13592 参照

sql - XML データ型メソッド「値」は文字列リテラルでなければなりません

このエラーが発生しないようにクエリを変更する方法:

XML データ型メソッド「値」は文字列リテラルでなければなりません

T-SQL コード:

0 投票する
1 に答える
767 参照

.net - SQLServer2008のXML列の属性でWHEREを使用する方法

これはおそらく単純で、中かっこが正しくありませんが、SQL SERVER XMLデータのクエリの経験がほとんどないため、非常識になっています。

XMLタイプの列NoSqlFieldを持つ単純なテーブルがあります。これには、NULLまたは

NoSqlField列に<entrykey= "mykey"> 1</entry>値を持つテーブルのすべての行が必要です。

(.ToString()を使用するのでかなり愚かです)LINQクエリを使用します

結果を返すので、間違いなくそこにあります。

T-SQLで同じクエリを実行するにはどうすればよいですか?私が試してみました

さまざまなバリエーション(スラッシュありとなし、フルパスなど)がありますが、返される行は1つもありません。

0 投票する
0 に答える
1113 参照

c# - C# SQLXMLBulkLoad4Class - ループ内で SQLConnection が続くとクラッシュする

ループでも完全に機能するコード ブロックがあります。このブロックは接続し、xml ファイルを取得して db にロードします。ループ内の場合は、ソース ディレクトリ内のすべての xml ファイルに対してこれを実行します。

私の課題は、新しくインポートされたデータで作業する必要があることです。したがって、同じループの一部として、たとえば次のように他のブロックを呼び出します。

これで、このブロックも機能します - ループを初めて通過します。このブロックが存在する場合、最初の xml ファイルが読み込まれ、このブロックによって変更されます。ループが 2 番目のファイルで開始されると、objBL.Execute で次のエラーが発生します。

次に、データベースを削除して、アクセスできるように再接続する必要があります。このエラーは、接続が開いたままになっているために発生していると思いましたが、見つかりません。私も追加しました:destination.Close(); GC.Collect(); GC.WaitForPendingFinalizers();

これが私が欠けていたものだと思っていましたが、そのような運はありませんでした.
私がここで見落としていることについて、誰かが私にヒントを与えることができますか?

ありがとうございました。

0 投票する
1 に答える
1222 参照

sql-server - SQL Server xmlは2つの属性を同時に削除します.

SQL Server で XML から属性を削除する方法を示す以下を見つけました: SQL Server 2008 で XML 変数から属性を削除する方法は?

しかし、一度に 2 つの属性を削除したいと思います。私は次のようなものを試しました:

しかし、更新中に同じ列を複数回変更できないというエラーが表示されます。一度のステートメント内で両方を削除する方法はありますか、それとも 2 つの別々の更新を実行する必要がありますか?

0 投票する
3 に答える
78062 参照

sql - xmlagg 関数を使用した SQL 複数 SELECT クエリ - データが必要な方法で取得されない

Oracleの私のデータはこのようなものです

この方法でデータを取得する必要があります

私のクエリは次のとおりです

表示される結果は、

2番目の表のようにデータを取得するにはどうすればよいですか? SQL クエリのエラーは何ですか?

0 投票する
1 に答える
176 参照

sql - SQLxmlの親xmlに基づいてネストされた親子xmlを取得します

SQLXMLには次のコードがあります。SQLXMLの親要素に親要素を挿入する必要があります。

次の表があります。

これは私のSQLXMLステートメントです

結果は以下のとおりです

以下の結果がクラスであり、マークタグが別のタグで囲まれていることを望みます。

これを行う方法について何か考えはありますか?

ありがとう!