| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > экспорт в файл |
| Автор: NoraS 10.11.2017, 13:56 | ||
| Мои приветствия, есть MS Sql сервер 2012, надо выгрузить названия всех баз (кроме системных) с их размером в текстовый файл и научить сервер данную процедуру производить ежедневно в автоматическом режиме. Так как это мой первый опыт с MS Sql работы с написан вот такой запрос:
но при попытке выгрузить файл через bcp выдается сообщение, что с системной вьюшкой в данной версии данная операция невозможна. Через студию в ручном режиме все замечательно выгружается. sqlcmd тоже выдает синтаксическую ошибку на все параметры Поэтому вопрос такой, каким способами еще можно осуществить поставленную задачу? |
| Автор: Akina 10.11.2017, 14:16 | ||
Попробуй через CTE:
В крайнем случае задействуй временную таблицу. |
| Автор: NoraS 14.11.2017, 04:19 | ||||
| спасибо сработало и второй вопрос из этой же оперы
замечательно срабатывает в студии. При попытке:
выдается синтаксическая ошибка, помогите её найти |
| Автор: Akina 14.11.2017, 08:05 |
| Где полностью подготовленная строка команды? кому нужен код её сборки... И где цитата сообщения об ошибке? |
| Автор: NoraS 15.11.2017, 07:35 | ||||||
Неверно описала. Админам потребовался файл вида
Обычным образом не получилось. Создала процедуру:
В итоге:
сработало и экспортируется. Но не передаются стартовые и финальные "заголовки", т.е print '{"data":[' и print ']}'; Вопрос как правильно их добавить в экспортируемый файл? |
| Автор: Akina 15.11.2017, 07:48 | ||
Ну так выгружайте в JSON, а не в текст... Добавлено @ 07:58 Кстати, а нафига там группировка? И ещё - как намерены избавляться от замыкающей запятой у последней записи? Формально можно, например, так:
|
| Автор: NoraS 15.11.2017, 09:16 | ||
Ms sql server 2005 разве может это сделать? поделитесь ссылкой на ман по данному вопросу |
| Автор: Akina 15.11.2017, 09:18 |
Вы бы уж озаботились узнать, какой версии у Вас сервер-то... |
| Автор: NoraS 15.11.2017, 15:20 |
| их два на одном необходим был первый вариант запроса - там 2012 на втором - второй - на нем 2005 принадлежат двум разным подразделениям. |
| Автор: Akina 15.11.2017, 16:22 |
| Предупреждать надо... самостоятельно о таком догадаться - нереально... Ну тогда собирайте нужный вид показанным запросом. Писано на коленке, если что - подрихтуй. |