Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
Подскажите пожалуйста.
Установлена
Microsoft SQL Server Managment Studio
как выгрузить в текстовый файл данные из таблицы.
В данной программе никогда не работал.
Если есть возможность напишите подробно как осуществить выгрузку.
И где именно прописывать SQL запрос.
Заранее спасибо.
24 окт 17, 16:53    [20896233]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
архивариус
Member

Откуда:
Сообщений: 150
Владислав Y
как выгрузить в текстовый файл данные из таблицы.

альтернативный вариант: Excel
24 окт 17, 16:57    [20896247]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
LoopN
Guest
Владислав Y,

ПКМ по базе данных - экспорт - источник sql server - назначение "неструктурированный файл"
24 окт 17, 17:29    [20896386]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
архивариус
Владислав Y
как выгрузить в текстовый файл данные из таблицы.

альтернативный вариант: Excel

Это совсем не вариант.
Данные хранятся на SQL сервере.
Их нужно от туда вытащить. Хоть в txt хоть в exce.
Вопрос как их вытащить.
25 окт 17, 12:31    [20898383]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
LoopN
Владислав Y,

ПКМ по базе данных - экспорт - источник sql server - назначение "неструктурированный файл"


А это не понял. Можно поподробнее, куда зайти что написать.
25 окт 17, 12:32    [20898393]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Владислав Y
LoopN
Владислав Y,

ПКМ по базе данных - экспорт - источник sql server - назначение "неструктурированный файл"


А это не понял. Можно поподробнее, куда зайти что написать.
ПКМ - это клик правой кнопкой мыши.
25 окт 17, 12:41    [20898437]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Владислав Y
архивариус
пропущено...

альтернативный вариант: Excel

Это совсем не вариант.
Данные хранятся на SQL сервере.
Их нужно от туда вытащить. Хоть в txt хоть в exce.
Вопрос как их вытащить.

В командной строке
bcp "SELECT * FROM БазаДанных1.dbo.Таблица1" queryout D:\каталог_для_txt\table1.txt -T -c -w -S MSSQLSERVER_или_название_именнованого_инстанса
Когда отработает - проверить UTF16LE кодировку для русских букв, если нужно - дополнительно перекодировать в UTF8.
Если нужно сразу в UTF8 - сделать SSIS.
Если bcp "селект в файл TXT" устраивает - занести в SQL Agent Job шагом типа Operation System (CmdExec).
Всё.
25 окт 17, 12:51    [20898489]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
архивариус
Member

Откуда:
Сообщений: 150
Владислав Y
архивариус
пропущено...

альтернативный вариант: Excel

Это совсем не вариант.
Данные хранятся на SQL сервере.
Их нужно от туда вытащить. Хоть в txt хоть в exce.
Вопрос как их вытащить.

Excel умеет работать с SQL сервер. (Вы пишите не знаю SSMS, научите. Я предложил вместо SSMS использовать Excel, но его вы видимо тоже не знаете)
25 окт 17, 12:58    [20898548]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
o-o
Guest
архивариус
Excel умеет работать с SQL сервер. (Вы пишите не знаю SSMS, научите. Я предложил вместо SSMS использовать Excel, но его вы видимо тоже не знаете)

Эксель-то умеет, но проблема не в нем, а в ТС, который ни в чем не умеет.
у нас самый последний аналист и то данные в Эксель таскает с сервера без проблем.
еще один плюс против обычной выгрузки, что данные обновляемы.
хоть вручную, хоть ставь обновление на открытие файла.
25 окт 17, 13:23    [20898706]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
архивариус
Владислав Y
пропущено...

Это совсем не вариант.
Данные хранятся на SQL сервере.
Их нужно от туда вытащить. Хоть в txt хоть в exce.
Вопрос как их вытащить.

Excel умеет работать с SQL сервер. (Вы пишите не знаю SSMS, научите. Я предложил вместо SSMS использовать Excel, но его вы видимо тоже не знаете)

/****** Скрипт для команды SelectTopNRows из среды SSMS ******/

Вот пишу такой запрос
SELECT [Код]
,[НормирующийКоэффициент]
,[Примечание]
,[КонсультацииСПО]
,[ТрудоёмкостьЗЕТ]
FROM [Деканат].[dbo].[Нагрузка] WHERE [УчебныйГод]='2017-2018'

выдает в таблицу список

а если добавляю
SELECT [Код]
,[НормирующийКоэффициент]
,[Примечание]
,[КонсультацииСПО]
,[ТрудоёмкостьЗЕТ]
FROM [Деканат].[dbo].[Нагрузка] WHERE [УчебныйГод]='2017-2018' queryout 'D:\table1.txt -T -c -w -S'

Пишет ошибку

Сообщение 102, уровень 15, состояние 1, строка 91
Неправильный синтаксис около конструкции "queryout".

В чем может быть ошибка?
25 окт 17, 13:26    [20898728]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
o-o
Guest
Владислав Y
В чем может быть ошибка?

набрал команду для bcp.exe, но саму программу забыл?
25 окт 17, 13:30    [20898743]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
o-o
Guest
в деканате данных немного,
можно и просто выполнить, да сохранить результаты

К сообщению приложен файл. Размер - 28Kb
25 окт 17, 13:34    [20898762]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
o-o,

А возможно обойтись для выгрузки без команды bcp.exe, а только средствами SQL запроса?

В MySQL это реализовано очень легко
SELECT * FROM name_table INTO OUTFILE '/tmp/name_file.csv' FIELDS TERMINATED BY ';' ;

А вот как это сделать на Microsoft SQL Server никак не найду.
25 окт 17, 13:34    [20898766]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
o-o
в деканате данных немного,
можно и просто выполнить, да сохранить результаты

На самом деле данных дам несколько миллионов строк.
И этим методом я знаю как воспользоваться. Но нужно посредством SQL запроса.
Нужно сначала выгрузить данные, а после изменений загрузить их обратно. Тоже посредством SQL запроса.
25 окт 17, 13:37    [20898785]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
o-o
Guest
чтобы эту менюшку получить, на панели результата ПКМ
alexeyvg
ПКМ - это клик правой кнопкой мыши.

если же еще дальше пойти, можно даже сменить типа файла
это уже обычным мышиным кликом

К сообщению приложен файл. Размер - 38Kb
25 окт 17, 13:39    [20898794]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
o-o
чтобы эту менюшку получить, на панели результата ПКМ
alexeyvg
ПКМ - это клик правой кнопкой мыши.

если же еще дальше пойти, можно даже сменить типа файла
это уже обычным мышиным кликом


Спасибо! С помощью мышки все получилось.
Но нужно с помощью SQL запроса.
25 окт 17, 13:43    [20898826]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
o-o
Guest
Владислав Y
А возможно обойтись для выгрузки без команды bcp.exe, а только средствами SQL запроса?

выгружать должен кто-то или что-то.
запрос это запрос, вы его отослали на сервер, данные получили.
теперь или сохраняем студией, или выгружаем мастером элспорта/импорта
(это тоже "кто-то", это SSIS-пакет создается и выполняется)
или выгружаем программой bcp
(это не команда. это программа)
или, что совсем просто, но вы упорно отвергаете,
ВЫПОЛНЯЕМ ЗАПРОС ПРЯМО ИЗ ЭКСЕЛЯ.
вот уж точно только запрос и выполняется.
просто вы данные получаете не в студии, а прямо в Экселе
25 окт 17, 13:45    [20898832]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
o-o
Владислав Y
А возможно обойтись для выгрузки без команды bcp.exe, а только средствами SQL запроса?

выгружать должен кто-то или что-то.
запрос это запрос, вы его отослали на сервер, данные получили.
теперь или сохраняем студией, или выгружаем мастером элспорта/импорта
(это тоже "кто-то", это SSIS-пакет создается и выполняется)
или выгружаем программой bcp
(это не команда. это программа)
или, что совсем просто, но вы упорно отвергаете,
ВЫПОЛНЯЕМ ЗАПРОС ПРЯМО ИЗ ЭКСЕЛЯ.
вот уж точно только запрос и выполняется.
просто вы данные получаете не в студии, а прямо в Экселе


Если я Вас правильно понял
как в MYSQL
SELECT * FROM name_table INTO OUTFILE '/tmp/name_file.csv' FIELDS TERMINATED BY ';' ;

На SQL сервере такой запрос сделать нельзя?

А подскажите тогда как сделать загрузку данных из текстового файла в таблицу?
В MySQL это делается посредством запроса.
LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
25 окт 17, 13:57    [20898917]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
o-o
Guest
Владислав Y
как в MYSQL
SELECT * FROM name_table INTO OUTFILE '/tmp/name_file.csv' FIELDS TERMINATED BY ';' ;
...
А подскажите тогда как сделать загрузку данных из текстового файла в таблицу?
В MySQL это делается посредством запроса.
LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

вот этим всем и занимается bcp Utility
25 окт 17, 14:02    [20898940]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
o-o
Владислав Y
как в MYSQL
SELECT * FROM name_table INTO OUTFILE '/tmp/name_file.csv' FIELDS TERMINATED BY ';' ;
...
А подскажите тогда как сделать загрузку данных из текстового файла в таблицу?
В MySQL это делается посредством запроса.
LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

вот этим всем и занимается bcp Utility


А вот с ней никак пока не могу разобраться.
Она входит в состав SQL Server?
И ее можно прописывать в том же окне где и пишем запросы к SQL Server?
Или эту программу можно использовать только через командную строку?
25 окт 17, 14:08    [20898964]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Владислав Y
архивариус
пропущено...

Excel умеет работать с SQL сервер. (Вы пишите не знаю SSMS, научите. Я предложил вместо SSMS использовать Excel, но его вы видимо тоже не знаете)

/****** Скрипт для команды SelectTopNRows из среды SSMS ******/

Вот пишу такой запрос
SELECT [Код]
,[НормирующийКоэффициент]
,[Примечание]
,[КонсультацииСПО]
,[ТрудоёмкостьЗЕТ]
FROM [Деканат].[dbo].[Нагрузка] WHERE [УчебныйГод]='2017-2018'

выдает в таблицу список

а если добавляю
SELECT [Код]
,[НормирующийКоэффициент]
,[Примечание]
,[КонсультацииСПО]
,[ТрудоёмкостьЗЕТ]
FROM [Деканат].[dbo].[Нагрузка] WHERE [УчебныйГод]='2017-2018' queryout 'D:\table1.txt -T -c -w -S'

Пишет ошибку

Сообщение 102, уровень 15, состояние 1, строка 91
Неправильный синтаксис около конструкции "queryout".

В чем может быть ошибка?

В студии SSMS создаете внутри базы данных:
create view [dbo].[Нагрузка_Учебного_Года_2017_2018] as
SELECT [Код]
,[НормирующийКоэффициент]
,[Примечание]
,[КонсультацииСПО]
,[ТрудоёмкостьЗЕТ]
FROM [Деканат].[dbo].[Нагрузка] WHERE [УчебныйГод]='2017-2018'

Далее процитирую себя "В командной строке".
Далее bcp "SELECT * FROM БазаДанных1.[dbo].[Нагрузка_Учебного_Года_2017_2018]" queryout D:\каталог_для_txt\Нагрузка_Учебного_Года_2017_2018.txt -T -c -w -S MSSQLSERVER
25 окт 17, 14:15    [20899014]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Владислав Y
o-o
пропущено...

вот этим всем и занимается bcp Utility


А вот с ней никак пока не могу разобраться.
Она входит в состав SQL Server?
И ее можно прописывать в том же окне где и пишем запросы к SQL Server?
Или эту программу можно использовать только через командную строку?

Запросы внутри двойных кавычек - в окне, где и пишем запросы к SQL Server.
Программу bcp с параметрами запускаем в командной строке.
Можете текст завернуть в cmd/bat файл и запускать его.
25 окт 17, 14:16    [20899026]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Andy_OLAP
Владислав Y
пропущено...


А вот с ней никак пока не могу разобраться.
Она входит в состав SQL Server?
И ее можно прописывать в том же окне где и пишем запросы к SQL Server?
Или эту программу можно использовать только через командную строку?

Запросы внутри двойных кавычек - в окне, где и пишем запросы к SQL Server.
Программу bcp с параметрами запускаем в командной строке.
Можете текст завернуть в cmd/bat файл и запускать его.

Еще более подробно - в окне, где и пишем запросы, пишем
SELECT * FROM БазаДанных1.[dbo].[Нагрузка_Учебного_Года_2017_2018] и нажимаем F5.
Если то, что нужно - а это то, что нужно, далее уже запускаем в командной строке вызов утилиты bcp.
25 окт 17, 14:18    [20899035]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
o-o
Guest
Владислав Y
Она входит в состав SQL Server?

да
Владислав Y
И ее можно прописывать в том же окне где и пишем запросы к SQL Server?
Или эту программу можно использовать только через командную строку?

ну вообще-то это улитита командной строки.
но можно и через xp_cmdshell запустить.
во втором случае надо иметь включенной серверную опцию 'xp_cmdshell',
иметь права на выполнение xp_cmdshell,
а у сервера должны быть права писать этот файл туда, куда укажете.
не проще ли со своего рабочего места на свой же комп и писать,
запустив утилиту в командной строке?
никаких особых прав, кроме как на выгружаемыю таблицу, иметь не надо
25 окт 17, 14:19    [20899043]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в выгрузке данных  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Владислав Y
Подскажите пожалуйста.
Установлена
Microsoft SQL Server Managment Studio
как выгрузить в текстовый файл данные из таблицы.
В данной программе никогда не работал.
Если есть возможность напишите подробно как осуществить выгрузку.
И где именно прописывать SQL запрос.
Заранее спасибо.
Правой кнопой по имени БД.
"Создать запрос".
Написать запрос select * from MyTable
Нажать "выполнить"
Внизу появится грид.
Ctrl+A Ctrl+С
Данные будут в буфере. Буфер кидайте в нотпад.

(профит)
25 окт 17, 16:49    [20899772]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить