Я пытался работать над получением результата большого оператора SELECT с несколькими соединениями и отправить результат запроса по электронной почте в виде файла CVS. У меня есть правильный запрос и электронная почта, но у меня возникают проблемы с автоматизацией экспорта результата в виде файла CVS. Из того, что я читал, лучшим выбором для автоматического экспорта результатов запроса является инструмент под названием «BCP».
Я попытался использовать BCP в Management Studio следующим образом:
USE FootPrint;
DECLARE @sql VARCHAR(2048);
DECLARE @dir VARCHAR(50);
SET @dir = 'C:\Users\bailey\Desktop';
SET @sql = 'bcp "SELECT TOP 10 * FROM datex_footprint.Shipments" queryout "' + @dir + '" -c -t, -T';
EXEC master..xp_cmdshell @sql;
FootPrint — это имя конкретной базы данных, а datex_footprint — схема. (Это не настоящий запрос, просто тестовый).
Когда я запускаю это, я получаю сообщение об ошибке: «SQLState = S0002, NativeError = 208» «Ошибка = [Microsoft] [SQL Server Native Client 10.0] [SQL Server] Недопустимое имя объекта «datex_footprint.Shipments».
Я на 100% уверен, что datex_footprint.Shipments является правильным доступом к схеме\таблице для данных, которые я пытаюсь протестировать.
Кто-нибудь видит, что я упускаю или делаю неправильно, пытаясь экспортировать этот результат в файл CSV? В частности, я пытаюсь автоматизировать этот процесс. Я знаю, как экспортировать результаты в CSV-файл, но хочу сделать это на T-SQL, чтобы автоматизировать создание файла по времени суток.
Любая помощь будет оценена по достоинству!