Имя: Пароль:
IT
Админ
Запрос из MS SQL в Excel
0 ogion83
 
24.01.25
14:39
Подскажите как лучше осуществить: требуется раз в несколько дней автоматически из базы в MS SQL получить данные и загнать их в Excel.
Батником, через PowerShell или ещё каким способом?
1 Звездец
 
24.01.25
14:41
(0) через 1С, python, C, Java
продолжать дальше?

Странный вопрос конечно. На чем можешь, на том и делай
2 ogion83
 
24.01.25
14:42
ChatGPT советует такой батник:
echo off
setlocal

REM Параметры подключения
set SERVER=your_server_name
set DATABASE=your_database_name
set USERNAME=your_username
set PASSWORD=your_password

REM SQL-запрос
set QUERY="SELECT * FROM your_table"

REM Путь к выходному файлу (например, output.csv)
set OUTPUT_FILE=output.csv

REM Выполнение запроса и вывод результатов в файл
sqlcmd -S %SERVER% -d %DATABASE% -U %USERNAME% -P %PASSWORD% -Q %QUERY% -o %OUTPUT_FILE% -s "," -W -w 1024

REM Проверка на успешное выполнение
if %ERRORLEVEL% neq 0 (
    echo Ошибка при выполнении запроса.
) else (
    echo Данные успешно выгружены в файл: %OUTPUT_FILE%
)

endlocal
Но он выдает все в одной ячейке
3 Prog_man
 
гуру
24.01.25
14:45
(0) регламентным заданием из 1с
4 arsik
 
гуру
24.01.25
15:07
Так прям в скуле и напиши регзадание.
5 Franchiser
 
гуру
24.01.25
15:09
Excel умеет подключаться к sql и любой другой базе. Нужно в нем запрос написать.
6 ogion83
 
24.01.25
15:15
(5)Да , но там где это нужно будет стоит ОпенОфис)
7 ogion83
 
24.01.25
15:17
(4) Надо поискать как это делается
8 ogion83
 
24.01.25
15:32
(4) У нас Экспресс версия урезанная, походу регзадания тут сделать не светит.
9 youalex
 
24.01.25
15:41
можно вроде прямо из скуля писать в эксель
через связанный сервер,  или напрямую через INSERT INTO OPENROWSET
10 ogion83
 
24.01.25
16:08
(9) В нашей версии не сделать регламентное задание. Буду пробовать через PowerShell, через батник не нашел подходящих средств.
11 Kongo2019
 
24.01.25
23:17
(0)
Вариант первый батником
sqlcmd -i c:\sql\myquery.sql -o c:\sql\myoutput.txt

Вариант два PowerShell,
Invoke-Sqlcmd -InputFile "C:\sql\myquery.sql" | Out-File -filePath "C:\sql\powershelloutput.txt"

Получаешь файл, дальше колбась его как хошь.
Я первым вариантом пользуюсь, мне батники ближе.
12 lEvGl
 
гуру
24.01.25
23:21
(6) как загонять в эксель, если его нет
Макросы используются для автоматизации различных действий в OpenOffice.org. Макрос поможет автоматизировать действия, которые потребовали бы длительных ручных манипуляций с возможными ошибками. В настоящее время автоматизированные действия наиболее легко выполняются написанием макросов на OOo Basic (OpenOffice.org поддерживает и ряд других языков, например, Python). Синтаксис OOo Basic подобен многим разновидностям Basic (Visual Basic, VBA, VBScript и т.д.), и здесь не описывается. Данная статья является введением в мир макросов OpenOffice.org и рассматривает самые общие вопросы, связанные с программированием макросов в OpenOffice.org. Цель статьи - предельно кратко обозначить основные направления в программировании макросов OpenOffice.org для программистов, уже немного знакомых с другими разновидностями Basic.
https://www.script-coding.com/OOo/OOo_HelloWorld.html
13 Kongo2019
 
24.01.25
23:25
(12)В OpenOffice это не макросы, а какое-то издевательство. Как в прочем и сам OpenOffice.
Пытались переползти, куда не ткнись нету нужного.
14 lEvGl
 
гуру
24.01.25
23:36
(13) не пробовал, но пишут, что язык есть, даже питон, врут?
хз, вроде все есть
https://forum.openoffice.org/en/forum/viewtopic.php?t=38176
11 год, может сейчас стало хуже
да плюс Power BI еще есть, можно тоже попробовать, бесплатную лицензию как минимум
15 Kongo2019
 
24.01.25
23:31
(14) Язык есть. Функционала мало. OpenOffice имеет привязку к python. И это даже все работает. Если отчеты рисовать и там всякие красивости, то нормально.
Если начинается тяжелая аналитика, то вешайся.
16 Franchiser
 
гуру
24.01.25
23:39
(0) пиши через регламентные задание в 1С. Ему все равно установлен excel или нет
17 lEvGl
 
гуру
24.01.25
23:44
(15) ну надо надеяться, что для тяжелых у него есть ИБ где то в 1с (или в еще каком то процессоре повеселее)
ОО насколько помню в эксель тоже умеет
18 Kongo2019
 
24.01.25
23:47
(17) Ты не видел моих аналитиков. Эти монстры там такое рисуют, что я с 1С тихо курю в сторонке.
19 lEvGl
 
гуру
24.01.25
23:51
(16) тоже вариант, к тому же что значит "в эксель", это ж смотря чем открывать файл
(18) ну как рисует 1с всем известно, поэтому можно ее использовать как источник данных, а для картинок использовать какой нибудь из Charts ов
20 ogion83
 
27.01.25
10:41
(11) Батником или PS вообще возможна выгрузка в виде табличного документа (xls)?
21 Kongo2019
 
27.01.25
10:00
(20)Конечно. Только смысла нет.
22 ogion83
 
27.01.25
11:24
(21) мне надо)
23 Смотрящий от 1С
 
27.01.25
11:58
В Экселе можно в качестве источника данных выбрать sql таблицы без всяких посредников. Данные из таблиц тут же можно вывести в сводные таблицы. Я еще на 7.7 сделал систему аналитических отчетов для страховой компании. Заполнил из 1с огроменную таблицу и потом средствами sql  за секунды с помощью сводных таблиц выводил отчеты в любых разрезах
24 vbus
 
27.01.25
12:58
bcp "SELECT * FROM mymain;" queryout "result_tab.csv" -w -t ';' -S localhost -d testdb -U sa -P пароль


 bcp /?
usage: c:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\bcp.exe {dbtable | query} {in | out | queryout | format} datafile
  [-m maxerrors]            [-f formatfile]          [-e errfile]
  [-F firstrow]             [-L lastrow]             [-b batchsize]
  [-n native type]          [-c character type]      [-w wide character type]
  [-N keep non-text native] [-V file format version] [-q quoted identifier]
  [-C code page specifier]  [-t field terminator]    [-r row terminator]
  [-i inputfile]            [-o outfile]             [-a packetsize]
  [-S server name]          [-U username]            [-P password]
  [-T trusted connection]   [-v version]             [-R regional enable]
  [-k keep null values]     [-E keep identity values]
  [-h "load hints"]         [-x generate xml format file]
  [-d database name]        [-K application intent]  [-l login timeout]
25 Kongo2019
 
27.01.25
14:51
(22) Ну надо - делай. Тыж программист. Ты задолбаешь код писать в батнике или в шелл. Выгрузи в файл csv. Экселю хватит.
(24) Он сразу xls хочет.
26 Регистр
 
27.01.25
15:16
(1) А вот ты спрашивал - где будут проблемы с версией 1С х64.
Ну например вот здесь могут быть. Там, где клиент х32 отработает без проблем - этот обязательно организует тебе какое-нибудь незапланированное развлечение на пару дней.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой