Имеется база с таблицами, одна из которых содержит поле FDATA, тип которого указан как xml.
Подскажите, как правильно выбрать его значение? При попытке сделать это следующим кодом:
Код: Выделить всё
TOBJECTSTORAGE::find()->select(['FNAME','FLABEL','FDATA'])->where('FTYPENAME = :name',[':name'=>'xxx'])->asArray()->all($mssqlConnect);
Код: Выделить всё
Database Exception – yii\db\Exception
SQLSTATE[HY000]: General error: 4004 General SQL Server error: Check messages from the SQL Server [4004] (severity 16) [(null)]
The SQL being executed was: SELECT [FNAME], [FLABEL], [FDATA] FROM [TOBJECTSTORAGE] WHERE FTYPENAME = 'xxx'
Error Info: Array
(
[0] => HY000
[1] => 4004
[2] => General SQL Server error: Check messages from the SQL Server [4004] (severity 16) [(null)]
[3] => -1
[4] => 16
)
↵
Caused by: PDOException
SQLSTATE[HY000]: General error: 4004 General SQL Server error: Check messages from the SQL Server [4004] (severity 16) [(null)]
in /var/www/webdata/smartbc.ru/vendor/yiisoft/yii2/db/Command.php at line 819
Код: Выделить всё
SELECT [FNAME], [FLABEL], [FDATA] FROM [TOBJECTSTORAGE] WHERE FTYPENAME = 'xxx'
Попробовал сформировать следующий запрос, что бы вытащить поле как текст (если я верно понимаю, в БД в данном поле хранится ссылка на файл, содержащий нужную информацию).
Код: Выделить всё
TOBJECTSTORAGE::find()->select(['FNAME','FLABEL','CAST(FDATA AS NVARCHAR(MAX)) AS FDATA'])->where('FTYPENAME = :name',[':name'=>'xxx'])->asArray()->all($lyraConnect);
Буду благодарен, если кто-нибудь подскажет, в каком направлении двигаться дальше.