0
XML解析を含むクエリを使用してテーブルの列をフィルタリングしようとしています。このクエリはC#で行われ、SQLDataAdapterを使用してクエリを実行しています。C#を使用してXMLに解析されたIlligal修飾名文字
string sqlstring = [email protected]"select * from [AS_GOV_PS_oud] inner join [AS_GOV_PStest13_1_2017v2]
on
[AS_GOV_PStest13_1_2017v2].[I/O name] = 'ST' where
cast('<a>' + replace([AS_GOV_PS_oud].Interconnection, '\""', ' </ a ><a> ') + ' </ a > ' as xml).query('for $x in/a order by $x return string($x)').value('/', 'varchar(max)') =
cast('<a>' + replace([AS_GOV_PStest13_1_2017v2].Interconnection, '\""', ' </ a ><a> ') + ' </ a > ' as xml).query('for $x in/a order by $x return string($x)').value('/', 'varchar(max)') ";
string cn = ConfigurationManager.ConnectionStrings["Scratchpad"].ConnectionString;
using (SqlConnection myConnection = new SqlConnection(cn))
{
SqlDataAdapter dataadapter = new SqlDataAdapter(sqlstring, myConnection);
}
エラーコードは以下の通りです:私のコードは次のようである
型 'System.Data.SqlClient.SqlException' の未処理の例外が をのSystem.Data.dllで発生した追加情報:XML解析:行1、文字33、無効な修飾名文字
使用SQL Server Management Studioを(SSMS) SQL Serverを使用してSQL文をC#で使用する前に取得します。 SSMSのエラーメッセージは、C#よりはるかに優れています。 – jdweng
@jdweng、これはまったく同じことを言います。 'XML解析:行1、文字33、不正修飾名文字' –
変数置換後の実際の文字列を確認する必要があります。 – jdweng