Это на самом деле проблема с VARBINARY и XML (в SQL 2008 R2):
FOR XML EXPLICIT and RAW modes currently do not support addressing binary data as URLs in column SomeComlumn. Remove the column, or use the BINARY BASE64 mode, or create the URL directly using the 'dbobject/TABLE[@PK1="V1"]/@COLUMN' syntax.
Быстрый поиск показал this post.
Есть ли причина, по которой вы хотите экспортировать в XML? Я использую bcp, используя двоичный вывод по умолчанию, и никаких проблем с полями VarBinary не возникает. Двоичные файлы намного меньше, чем файлы XML. И если вы не хотите делать какие-либо манипуляции между экспортом и импортом, я предлагаю вам использовать двоичные файлы.
Попробуйте изменить запрос:
SET @String='bcp "SELECT * FROM dbo.tblScan FOR XML RAW, BINARY BASE64" queryout C:\Users\DAAGEU\Desktop\tblScanOutput.xml -c -T'
Однако, как видно по логам, текущая проблема является Логин. Вы используете надежное соединение, но знаете ли вы, какой идентификатор запускает процесс bcp, когда он генерируется движком SQL Server? Это, скорее всего, идентификатор SQL Server, который, как я полагаю, не имеет доступа к базе данных/таблице (и наиболее вероятной является локальная система или сетевая служба). Если вы все еще хотите сделать это с помощью SQL-запроса, а не пакетного файла (.bat или .cmd), я предлагаю вам использовать явные учетные данные для входа (SQL Server auth) и не доверенное соединение.
Ошибка говорит, что не удалось открыть соединение, но я использую доверенное соединение или? – dg90
Похоже, что это не проблема с тем, что вы делаете с Xml, но с подключением к серверу вообще. Выполняется ли более простой запрос (например, 'SELECT COUNT (*) FROM dbo.tblScan')? – AakashM
Нет, это дает ту же ошибку – dg90