Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / инсталлятор скриптов / 5 сообщений из 5, страница 1 из 1
09.12.2011, 22:47
    #37568472
cumba
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инсталлятор скриптов
Всем привет!

Вопрос собственно в следующем...

Как в DB2 выполнить скрипты в файле *.bat ?
файл.bat:
Код: xml
1.
2.
db2 -td@ -vf script.sql
....


не выполняется пишет : DB21061E Среда командной строки не инициализирована.
Я так понимаю он пытается выполнить команду в виндовой командной сторке а не в db2clp. Тогда как его заставить выполнять команды через db2clp ?


DB2 9,5
...
Рейтинг: 0 / 0
09.12.2011, 23:06
    #37568490
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инсталлятор скриптов
другой-bat-файл:

db2cmd ваш-бат-файл.bat
(см. также опции db2cmd)
...
Рейтинг: 0 / 0
12.12.2011, 11:52
    #37570589
cumba
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инсталлятор скриптов
Спасибо, заработало. И возник еще вопрос. Возможно ли использование что то вроде переменных подстановок?

типа :

Код: sql
1.
2.
define var = 'schema_name'
create schema &&schema_name ...



или определить в батнике

Код: xml
1.
2.
set schema_name = test
db2cmd /c /w /i script.sql %schema_name%



script.sql

Код: sql
1.
create schema %1 ...
...
Рейтинг: 0 / 0
12.12.2011, 13:22
    #37570772
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инсталлятор скриптов
Нет, нельзя.

Можн из своего .bat:
db2 create schema %schema_name%

Ну или из языков каких (rexx'а, к примеру).

Вариант - template, по которому предварительно проходится другой скрипт, осуществляя подстановку.
...
Рейтинг: 0 / 0
12.12.2011, 13:59
    #37570880
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инсталлятор скриптов
cumba...Возможно ли использование что то вроде переменных подстановок?Можно поставить себе какой-нибудь порт утилиты sed и с помощью своего командного файла:
db2_my.bat
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
@echo off

SETLOCAL EnableDelayedExpansion
setlocal 

if .%1.==.. goto usage
if .%2.==.. set parmfile=parms.txt
if NOT EXIST %1 goto noscript
if NOT EXIST %parmfile% goto noparms

set comm=
for /F %%n in (%parmfile%) do set comm=!comm! -e "s/%%n/g"
echo %comm%

sed %comm% %1 | db2 +p -t -v -z %1.log

endlocal
goto :eof

:usage
@echo usage: %~n0 db2_script_file [ parameter_file ]
goto :eof

:noscript
@echo error: no db2_script_file
goto :eof

:noparms
@echo error: no parameter_file
goto :eof
и текстового файла параметров
parms.txt
Код: plaintext
1.
2.
&&schema_name/'schema'
...
&&parmN/some_value
сделать:
Код: plaintext
db2_my  my_script_with_parameters.sql  parms.txt
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / инсталлятор скриптов / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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