Все, в этом сообщении длина запроса xp_cmdshell слишком велика, мне удалось получить исправление для проблемы, с которой я столкнулся с размером запроса ограничение с помощью xp_cmdshell. Причина, по которой я написал такой длинный запрос, заключалась в попытке обойти другую проблему: тот факт, что bcp, по-видимому, преобразует пустые строки (из таблицы, содержащей поля с пустыми строками) в некоторый закодированный символ («NUL» или «r», или что-то). Это влияет на то, для чего я могу использовать свои экспортированные данные. У меня есть экспортный запрос
string strBcp = String.Format(
"declare @sql varchar(8000) " +
"select @sql = 'bcp \"SELECT * FROM [{0}]..[ivwTmpDrgDataView];\" ' +" +
"'queryout \"{1}\\DRGData.txt\" -c -t -T -S ' + @@servername " +
"exec master..xp_cmdshell @sql;",
strDatabase,
strDataDir);
Это отлично работает, но в экспортированном файле значения базы данных преобразуются
NULL -> Empty String (Which is fine!)
Empty String -> Some strange character
Я мог бы прочитать файл .txt с помощью C#, а затем перекодировать - как лучше всего преобразовать мой "странный символ" обратно в то, чем он должен быть, в пустую строку?
Спасибо за ваше время.