powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выгрузка данных через isql
23 сообщений из 23, страница 1 из 1
Выгрузка данных через isql
    #37655924
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как отключить все форматирование при выводе результатов?
Добивает концевыми пробелами и вставляет пустую строку.

Код: sql
1.
isql -user SYSDBA -password masterkey -input test.sql -output test.csv backup-s0



test.sql

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
set heading off;
set list off;
set echo off;
select '"Table","Field"' from RDB$DATABASE
union all
select '"'|| trim(r.RDB$RELATION_NAME) ||'","'|| trim(r.RDB$FIELD_NAME) ||'"'
 from RDB$RELATION_FIELDS r
;



сейчас выгружаю своей утилиткой, но это некошерно.
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #37655937
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кастуй в varchar перед усекновением.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #37655948
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя нет, у тебя же isql форматирует уже готовую строку...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #37655956
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorДобивает концевыми пробелами и вставляет пустую строку.А так если:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
set heading off;
set list off;
set echo off;
select '"Table","Field"' from RDB$DATABASE
union all
select first 4 cast('"'|| trim(r.RDB$RELATION_NAME) ||'","'|| trim(r.RDB$FIELD_NAME) ||'"' as varchar(65))
 from RDB$RELATION_FIELDS r
;
-- ?
У мну вывело без паддинга:
Код: plaintext
1.
2.
3.
4.
"Table","Field"
"RDB$PAGES","RDB$PAGE_NUMBER"
"RDB$PAGES","RDB$RELATION_ID"
"RDB$PAGES","RDB$PAGE_SEQUENCE"
"RDB$PAGES","RDB$PAGE_TYPE"
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #37655958
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovкастуй в varchar перед усекновением.


в оригинальной выгрузке cast as varchar(1024)
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #37656080
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Fri, 10 Feb 2012 15:46:11 +0400, pastor <nospam@sql.ru>; wrote:

> Автор: pastor
> Как отключить все форматирование при выводе результатов?
> Добивает концевыми пробелами и вставляет пустую строку.

IBEScript ...

--
Vladimir A.Bakhvaloff E-Mail:bob<gav>bakh<dot>spb<dot>ru
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #37656143
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirraOn Fri, 10 Feb 2012 15:46:11 +0400, pastor <nospam@sql.ru>; wrote:

> Автор: pastor
> Как отключить все форматирование при выводе результатов?
> Добивает концевыми пробелами и вставляет пустую строку.

IBEScript ...

--
Vladimir A.Bakhvaloff E-Mail:bob<gav>bakh<dot>spb<dot>ru


исходный вопрос был про isql.
другими средствами все решено давным-давно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Выгрузка данных через isql
    #38439472
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки что с вставкой первой пустой строки в вывод isql?
Ой как это мешает у одного из клиентов...
Надо по-быстрому было сваять экспорт данных в текстовый файл.
Взял isql и наступил на эти же грабли: первая строка пустая, потом только данные пошли.
А сторонний инструмент не понимает таких вольностей, ему подавай данные прям с первой строки, а не со второй...
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38439645
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
откусить grep-ом?
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38439681
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

таки сваяли свой isql именно для текстовой/csv/xml over xsl выгрузки
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38439753
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, pastor!
You wrote on 24 октября 2013 г. 13:03:10:

pastor> таки сваяли свой isql именно для текстовой/csv/xml over xsl выгрузки
написали с нуля, или допилили исподники?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38439910
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

переписали на дельфях
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38439916
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyоткусить grep-ом?
А кстати, да!
Проверил с grep для винды, ага
grep -x -v ""
отрезает пустую строку
В Линухе, соответственно, будет
grep -x -v ''
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440119
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

ZLS_SQL

Выгрузка результатов SQL запросов

Copyright (c) 2000-2012 ООО <НПФ Стелла>
КОНТУР(R)

Предназначен для вывода результатов SQL запроса в текстовый файл.

Работает в двух режимах:
------------------------

1. Если в результате один столбец, то выводит значения этого поля,
обрезая концевые пробелы. По одному на строку.
Используется для отчетов, выдающих html, xml, csv формат.

2. Если в результате более одного поля, то В первой строке
через запятую, в двойных кавычках выводятся имена полей,
далее значения полей в двойных кавычках, через запятую.


Перенаправление ввода и вывода:
-------------------------------

Если не указаны имена входного и (или) выходного файла, то вывод
перенаправляется на консоль.

Примеры использования:

1.

zls_sql -query test.sql -output test.csv -database localhost:db -user SYSDBA -password masterkey

Загрузит SQL запрос из файла "test.sql", выполнит его и запишет результат в "test.csv"

2.

zls_sql -query test.sql -database localhost:ski2 -user SYSDBA -password masterkey|7z a -sitest.csv test

Загрузит SQL запрос из файла "test.sql", выполнит его и перенаправит поток вывода на вход
архиватора 7z. Архиватор сожмет под именем "test.csv" и поместит в архив "test.7z".

Код возврата
-------------
Если программа выполнилась успешно, то ERRORLEVEL = 0,
при любых ошибках ERRORLEVEL = 1.



Поскольку стандартный STDOUT используется для вывода результатов,
для справки и сообщений задействован STDERR.
Вы можете перенаправить справку в консольный вывод STDOUT.

Список поддерживаемых параметров можно получить выполнив команду:
zls_sql.exe -help 2> help.txt
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440178
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,
да если уж заморачиваться со сторонним инструментарием, то мне и имеющегося в наличии IBEScript хватило по факту.
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440187
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aТаки что с вставкой первой пустой строки в вывод isql?
Ой как это мешает у одного из клиентов...
Надо по-быстрому было сваять экспорт данных в текстовый файл.
Взял isql и наступил на эти же грабли: первая строка пустая, потом только данные пошли.
А сторонний инструмент не понимает таких вольностей, ему подавай данные прям с первой строки, а не со второй...Что-то я не понял, где проблема.
1. Создаем простой скрипт для выполнения на пустой базе:
Код: sql
1.
2.
3.
4.
-- file = 'foo.sql'
with recursive 
r as(select 1 i, rand()*1000 r from rdb$database union all select i+1,rand()*1000 from r where i<200)
select 'line '||i||':' s, cast(r as int) r from r;


2. Создаем батник:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
@echo off
del foo.log 2>nul
@rem echo ------------- start of file -------------- > foo.log
for /f "delims=" %%i in ('isql foo.fdb -pag 0 -i foo.sql') do (
  echo %%i >>foo.log
)
@rem echo ------------- end of file -------------- >> foo.log
type foo.log
pause
3. Создаем базу `foo.fdb`, запускаем дальше батник.

У меня получается, что при вызове из батника isql *не* добавляет пустую строку в 'foo.log'.
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440189
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aда если уж заморачиваться со сторонним инструментарием
Существует ещё и FBExport.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440232
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,
А без извратов? ;) C извратами-то уже несколько вариантов накидали и даже реализовано на местах.
Речь шла про
Код: powershell
1.
isql foo.fdb -i foo.sql -o foo.log


Да я еще и под Firebird 2.5 (про себя) имел в виду.
Ты-то, небось, с "троечкой" игрался, может там уже и поправлено?
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440256
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aА без извратов? ;) C извратами-то уже зато без (поту-)сторонних средств, всё только штатным гвоздодёром.
o_v_aс "троечкой" игрался, может там уже и поправлено?нет, увы - см аттач.
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440263
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

я по isql'ю много чего просил сделать, там даже "сводная хотелка" в трекере есть. Но всё это в игноре. Приоритет, видимо, 0.(0).
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440268
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_apastor,
да если уж заморачиваться со сторонним инструментарием, то мне и имеющегося в наличии IBEScript хватило по факту.

вот IBEScript и есть сторонний. а тот - мой.
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38440745
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorвот IBEScript и есть сторонний. а тот - мой.
Сложу в закрома, ага :)
Но в упомянутом мной случае он не спас бы. Там всё более специфично выглядит. Я добился нужного форматирования строк только с помощью PSQL (execute block c несколькими SUSPEND на каждую запись из SELECT'а.
...
Рейтинг: 0 / 0
Выгрузка данных через isql
    #38441055
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_apastorвот IBEScript и есть сторонний. а тот - мой.
Сложу в закрома, ага :)
Но в упомянутом мной случае он не спас бы. Там всё более специфично выглядит. Я добился нужного форматирования строк только с помощью PSQL (execute block c несколькими SUSPEND на каждую запись из SELECT'а.

скорее, кому хочу м как хочу, тому и ставлю
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выгрузка данных через isql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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