У меня есть хранимая процедура SQL Server с параметром вывода типа xml
. В моем коде coldfusion я не уверен, какой cfsqltype
использовать для переменной xml. Я попытался с помощью cf_sql_varchar
в следующем коде:Ошибка вывода SQL-запроса SQL xml?
<cfprocparam cfsqltype="cf_sql_varchar" type="out" variable="result">
Но я получаю следующее сообщение об ошибке:
Implicit conversion from data type xml to varchar is not allowed. Use the CONVERT function to run this query.
Есть ли способ иметь дело с выходной XML-парами в ColdFusion без изменения хранимого процедура для возврата varchar вместо xml?
вы должны иметь возможность использовать 'cf_sql_longvarchar' Я никогда не понимал, почему' cf_sql_varchar' не работает –
@MattBusche - 'cf_sql_varchar' для меньших строк. Тип xml больше похож на 'text' или' varchar (max) ', с точки зрения емкости (и того, как он хранится), поэтому он сопоставляется с' cf_sql_longvarchar'. – Leigh
Просто поближе посмотрел w/CF9 и увидел, что он работает для параметров 'in', но не' out'. Я знаю, что JDBC 4 поддерживает тип SQLXML, но он не похож на поддержку в CF. * Ничего не работает cfsqltypes. Единственный способ, с помощью которого он работал, - использовать cfquery, то есть ' DECLARE @xml xml EXEC procedureName @xml OUTPUT SELECT @xml AS Результат ', что немного kludgey imo. Но это единственный вариант, который я могу придумать, кроме того, что результат был получен как varchar. –
Leigh