powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
25 сообщений из 31, страница 1 из 2
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39961859
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, сразу прошу меня понять, в mssql работаю редко, по крайней необходимости. Сейчас как никогда возникла такая необходимость. Собственно в чем сам вопрос. Существует представление, в нем собраны столбцы: Имя Значение, ДатаВремя.
Стоит задача выгружать данные из данного представления в файл Excel в автоматическом режиме, без открытия самого файла, т.е. подключение к источникам данных в Excel не подходит ввиду необходимости обновления данных. Но выгрузка должна осуществляться по условию, что ДатаВремя = 8:00 и 20:00 не смотря на дату. Как это правильно реализовать? Буду благодарен за любую помощь.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39961873
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выгружайте через BCP
https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15
в формате csv
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39961875
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно именно в excel ский файл, это возможно?
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39961877
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как можно выбрать только те строки в которых время из столбца датавремя 25.05.2020 8:00 Равно 8:00 и 20:00 несмотря на дату?
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39961887
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Нужно именно в excel ский файл, это возможно?
У вас есть два пути:
либо pull - с клиента джобом таки открыть Excel файл и макросом выкачать данные
либо push - с сервера открыть файл и вкачать данные либо перезаписать файл
Выбирайте любой

>А как можно выбрать только те строки в которых время из столбца датавремя 25.05.2020 8:00 Равно 8:00 и 20:00 несмотря на дату?
с помощью оператора where конечно

>несмотря на дату?
Код: sql
1.
select cast(getdate() As time),cast('08:00:00' as time),cast('20:00:00' as time)
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39961984
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257, Благодарю, а можно поподробнее про метод push?
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39961993
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>а можно поподробнее про метод push?
Для начала надо установить oledb провайдер для Excel. гуглите Microsoft.ACE.OLEDB для вашей версии сервера.
После установки его можно будет увидеть в SSMS: сервер->server objects->linked servers->providers

Дальше либо создаете SSIS пакет для экспорта (например мастером экспорта), либо создаете linked server используя вышеуказанный провайдер.
Совсем не уверен, что вы сможете впихнуть туда что либо кроме чистых данных и заголовков столбцов типа форматирования, фильтров и тп, но вы попробуйте.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39962011
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Если Вы про стандартные средства экспорта, то у меня так получается, но каждый раз необходимо запускать экспорт вручную. Возможно каким-то образом сохранить?
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39962466
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilmurat
Нужно именно в excel ский файл, это возможно?

выгружаете в csv и запускаете скрипт, который откроет его в excel и сохранит как excel

А вообще непонятна задача - кто, когда, где, что. Все должно быть само.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39962477
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Возможно каким-то образом сохранить?
Разумеется возможно. Когда делаете экспорт, нажмите на кнопку - сохранить как SSIS package. Его (пакет) можно запускать из агента.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39962782
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Сохраняю, но при повторном запуске файла *.dtsx ругается "Сбой выполнения запроса CREATE TABLE со следующей ошибкой, таблица уже существует. Возможная причина сбоя проблема с этим запросом, Свойство "ResultSet", установлено не правильно"

Если после каждого экспорта таблицу удалить, и запустить экспорт заново, то проблем не возникает.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39962786
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PizzaPizza,Добрый день. Есть таблица которая заполняется значениями, автоматически каждую минуту. Необходимо выгружать в файл строки 2 раза в сутки в 8:00 и 20:00 значения ДатаТайм которых равно 8:00 и 20:00.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39962811
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

select cast(getdate() As time),cast('08:00:00' as time),cast('20:00:00' as time)

Попробовал так, как оказалось дал Вам не верную информацию.

Столбец TimeString тип данных char(26), само значение выглядит так 27.05.2020 10:11:14, хотелось бы в представление собрать только те строки в которых значение времени будет 27.05.2020 8:00:14 ну и 27.05.2020 20:00:14
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39962943
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilmurat Сохраняю, но при повторном запуске файла *.dtsx ругается "Сбой выполнения запроса CREATE TABLE со следующей ошибкой, таблица уже существует.А вам что надо - то? Чтобы файл перезаписывала? Чтобы дописывала в конец?
Открывайте свой пакет Data tools и правьте свойства пакета.
И еще раз подумайте на предмет csv (самый первый ответ в топике)

Пробовали создать linked server?
Тогда вся обработка будет в чистом SQL.

Ilmurat Столбец TimeString тип данных char(26), само значение выглядит так 27.05.2020 10:11:14, хотелось бы в представление собрать только те строки в которых значение времени будет 27.05.2020 8:00:14 ну и 27.05.2020 20:00:14 Значит используйте текстовые функции
Код: sql
1.
2.
3.
declare @timestring_table table (timestring char(26));
insert into @timestring_table values ('27.05.2020 10:11:14'),('27.05.2020  8:00:14'),('27.05.2020 20:00:14');
select * from @timestring_table where SUBSTRING(timestring,12,5) in (' 8:00','20:00');
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39963036
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно непонятно. Если вам необходимо
Ilmurat
выгружать в файл строки 2 раза в сутки

то пусть сотрудник открывает студию и выгружает два раза в сутки в эксель. Это крайне не сложно, мягко говоря.

Опять же
Ilmurat
ДатаВремя = 8:00 и 20:00 не смотря на дату

Вам надо одну строку выгружать каждый раз, утром строку от 8 утра, а вечером от 8 вечера?

Вы сформулируйте задачу корректно и сразу станет понятнее.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39963175
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PizzaPizza,

Нет, там не 2 строки, там грубо говоря 15 наименований они пишутся в сервер каждую минуту, мне выгружать в сутки 30 строк со значением 8:00 и 20:00 ну и равными этому времени значениями.

да, необходимо дописывать файл.

По поводу csv пробовал, так и не разобрался(((
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39963178
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PizzaPizza,

Да, только там будет 15 строк в 8 утра и 15 строк в 8 вечера, нужно, чтоб файл дописывался в фоновом режиме.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39963182
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

У Вас почта указанная в профиле актуальна? Можно писать туда?
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39963189
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PizzaPizza,

В таблице содержатся следующие значения:

value VarName VarValue TimeString
16960575 75 SP-12GVO 28834 27.05.2020 10:11:14
16960575 75 SP-12GVO 28837 27.05.2020 12:50:28
16960575 75 SP-12GVO 28837 27.05.2020 12:51:33
16960575 75 SP-12GVO 28837 27.05.2020 12:52:37
16960575 75 SP-12GVO 28837 27.05.2020 12:53:40
16960575 75 SP-12GVO 28837 27.05.2020 12:54:43
16960575 75 SP-12GVO 28837 27.05.2020 12:55:45
39807731 31 PGP-2 621 27.05.2020 10:11:14
39807731 31 PGP-2 621 27.05.2020 12:50:28
39807731 31 PGP-2 621 27.05.2020 12:51:33
39807731 31 PGP-2 621 27.05.2020 12:52:37
39807731 31 PGP-2 621 27.05.2020 12:53:40
39807731 31 PGP-2 621 27.05.2020 12:54:43
39807731 31 PGP-2 621 27.05.2020 12:55:45
39807705 05 Drobilka 2111 27.05.2020 10:11:14
39807705 05 Drobilka 2111 27.05.2020 12:50:28
39807705 05 Drobilka 2111 27.05.2020 12:51:33
39807705 05 Drobilka 2111 27.05.2020 12:52:37
39807705 05 Drobilka 2111 27.05.2020 12:53:40
39807705 05 Drobilka 2111 27.05.2020 12:54:43
39807705 05 Drobilka 2111 27.05.2020 12:55:45
16961352 52 SP-2GVO 41976 27.05.2020 10:11:14
16961352 52 SP-2GVO 41980 27.05.2020 12:50:28
16961352 52 SP-2GVO 41980 27.05.2020 12:51:33
16961352 52 SP-2GVO 41980 27.05.2020 12:52:37
16961352 52 SP-2GVO 41980 27.05.2020 12:53:40
16961352 52 SP-2GVO 41980 27.05.2020 12:54:43
16961352 52 SP-2GVO 41980 27.05.2020 12:55:45
16961564 64 Melnica 1 36181 27.05.2020 10:11:14
16961564 64 Melnica 1 36181 27.05.2020 12:50:28
16961564 64 Melnica 1 36181 27.05.2020 12:51:33

и.т.д. В представление нужно собрать только те, время которых равно 8:00 и 20:00 и выгружать данные из этого представления в файл, не открывая сам файл.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39963493
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilmurat У Вас почта указанная в профиле актуальна? Можно писать туда? Можно, но не нужно.

Я предложил вам решение для фильтрации
Код: sql
1.
where SUBSTRING(timestring,12,5) in (' 8:00','20:00');

Оно вам подходит? Если не подходит то почему. Или вы его проигнорировали.

Ilmurat да, необходимо дописывать файл.Дописывание обломается, если этот файл открыт клиентом. Вам придется обрабатывать эту ошибку и оповещать клиента.

Пробовали сделать связаный сервер (linked server)?

Разобрались как в мастере экспорта дописать в существующую таблицу (а не перезаписывать ее)?

Далее: никто не сможет записать в файл не открывая файла. Формулируйте яснее. Я так понял, что вы не хотите чтобы конечный пользователь что-либо делал. А если это джоб (не SQL Agent job) на клиенте.

Ilmurat По поводу csv пробовал, так и не разобрался((( Что именно вызвало затруднения? Это тупо текстовый файл с полями, разделенными запятыми и строкой заголовка с именами полей.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39964324
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

С csv, не совсем понятно, как его потом переписать в excel?
linked server не попробовал, почитаю про него.
В мастере экспорта не нашёл как дописывать файл((
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39964360
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Благодарю)) представление с выборкой по времени сделал)) Осталось разобраться как дописывать экспортный файл.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39964442
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39964583
Ilmurat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Благодарю, буду пробовать.
...
Рейтинг: 0 / 0
Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
    #39964620
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilmurat
Нужно именно в excel ский файл, это возможно?

теоретически да - там zip-архив, а внутри XML, т.е. тактика такая - делаем в sqlcmd запрос с ответом в XML нужного формата, результаты жмем чем-нибудь типа консольного 7zip и все это объединяем каким-нибудь скриптом (cmd или PowerShell). Мне приходилось однажды такое делать, только не скриптом, а внутри приложения, т.ч. вариант проверенный, но бесплатно я снова делать это не стану - слишком много нудной мороки, т.ч. даю только направление для копания :))
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выгрузка данных в файл без открытия файла, Выгрузка данных в файл по условию
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]