以下は実行しているクエリです。 @XMLdataパラメータのC#からXML入力を取得しています。SQLサーバーのXMLエラー
CREATE TABLE #TablesList
(
TableName VARCHAR(500),
RefTable VARCHAR(500),
RefTableIDColumn VARCHAR(500)
)
SET @Query = @Query + ' INSERT INTO #TablesList SELECT ref.value(''tablename[1]'',''nvarchar(500)'') AS tablename,'
SET @Query = @Query + ' ref.value(''refTable[1]'',''nvarchar(500)'') AS refTable, ref.value(''refTableIDColumn[1]'',''nvarchar(500)'') AS refTableIDColumn FROM '
SET @Query = @Query + @XMLdata+'.nodes(''//Table[@name="'[email protected]+'"]'') AS R(ref)'
EXEC(@Query)
私はクエリを実行すると、次のエラーが表示されます。エラーが
The data types varchar(max) and xml are incompatible in the add operator.
'Query'と' @のXMLdata' @のデータ型は何ですか? – Adwaenyth
それぞれvarchar(max)とXML – user2998990
'XML'データ型を暗黙的に定義されていない' varchar'に変換しようとすると動作しません。構築されたクエリで 'XML'データ型として' XML'にアクセスする必要がある場合は、それを渡したり、選択したり、作成しようとしているクエリ内で構築する必要があります。 – Adwaenyth