powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проблемы с передачей параметров в скрипт
5 сообщений из 5, страница 1 из 1
Проблемы с передачей параметров в скрипт
    #37385122
Vitaliy3579
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
ОС: HP-UX, SQL-сервер: Sybase IQ 15.3.
Пытаюсь соорудить следующую конструкцию. Есть 2 sql-скрипта в отдельных файлах. 2-й запускается из первого с 2-мя параметрами.

Текст 1-го скрипта:

set temporary option DEFAULT_ISQL_ENCODING = 'cp1251';
set temporary option CONVERSION_ERROR = 'OFF';
set temporary option ON_ERROR = 'STOP';
read /DATA/Gremlin/scripts/SelectToFile.sql [CONTACT._ComAddrIDType] [/DATA/Gremlin/tmp/_sql/CONTACT.ComAddrIDType.dat]

Текст 2-го скрипта:

parameters tableName, outFile;
--******************************************************
set temporary option Temp_Extract_Null_As_Empty = 'On';
set temporary option OUTPUT_FORMAT = 'ASCII';
set temporary option Temp_Extract_Column_Delimiter = '';
set temporary option Temp_Extract_Row_Delimiter = '\n';
set temporary option Temp_Extract_Size1 = '1000000000';
set temporary option Temp_Extract_Name1 = '{outFile}';
--******************************************************
select * from {tableName};
--******************************************************

Когда писал скрипты, все работало. На следующий день, когда собрался выставлять, появилась проблема. Файл стал сохранятся в папку home/sybase с названием "{outFile}". Потратил 1,5 дня на то, что бы найти причину, ничего не получилось. Если параметр в тексте не заключен в одинарные кавычки, то параметр заменяется на значение. Иначе - нет.
Первый скрипт запускаю командой: dbisql -nogui -c dsn=iq /DATA/Gremlin/tmp/_sql/SelectToFile_exec.sql.
Буду благодарен за любую помощь!
Заранее, спасибо!
...
Рейтинг: 0 / 0
Проблемы с передачей параметров в скрипт
    #37385764
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем такой огород городить? Ты ж в HP-UX, тебe ж sed доступен
Сделай один sql:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
set temporary option DEFAULT_ISQL_ENCODING = 'cp1251';
set temporary option CONVERSION_ERROR = 'OFF';
set temporary option ON_ERROR = 'STOP';
set temporary option Temp_Extract_Null_As_Empty = 'On';
set temporary option OUTPUT_FORMAT = 'ASCII';
set temporary option Temp_Extract_Column_Delimiter = '';
set temporary option Temp_Extract_Row_Delimiter = '\n';
set temporary option Temp_Extract_Size1 = '1000000000';
set temporary option Temp_Extract_Name1 = '{outFile}';
select * from {tableName};

А потом запускаешь его:
Код: plaintext
dbisql -nogui -c dsn=iq `sed -e 's/{outFile}/extract.txt/' -e 's/{tableName}/sometable/' command.sql`
...
Рейтинг: 0 / 0
Проблемы с передачей параметров в скрипт
    #37385871
Vitaliy3579
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Дело в том, что есть уже некоторый налаженный механизм, и не хотелось бы его менять. Первый из этих скриптов формируется динамически, выполняется, и потом удаляется. Все это делается автоматически. Есть готовые java-классы и sh-файлы, которые это выполняют.
В любом случае спасибо!
...
Рейтинг: 0 / 0
Проблемы с передачей параметров в скрипт
    #37385899
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vitaliy3579Дело в том, что есть уже некоторый налаженный механизм, и не хотелось бы его менять. Первый из этих скриптов формируется динамически, выполняется, и потом удаляется. Все это делается автоматически. Есть готовые java-классы и sh-файлы, которые это выполняют.
Все равно, не вижу смысла в первом скрипте. Можно даже и без sed обойтись.
Код: plaintext
dbisql -c... "read /DATA/Gremlin/scripts/SelectToFile.sql [CONTACT._ComAddrIDType] [/DATA/Gremlin/tmp/_sql/CONTACT.ComAddrIDType.dat]"

А если "не хочется менять", то вспомни что "появилась проблема". Значит менять надо, может и не хочется, но надо! :)
...
Рейтинг: 0 / 0
Проблемы с передачей параметров в скрипт
    #37386922
Vitaliy3579
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Второй вариант тоже не работает. Поэтому за неимением других вариантов переписываю скрипты с использованием sed и awk.
Спасибо за помощь!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проблемы с передачей параметров в скрипт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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