запустить скрипт SQL с помощью Rocket Universe из командной строки AIX (uvsh)

Надеюсь, это простой вопрос. Я хочу написать сценарий оболочки, который вызывает сценарий SQL для выполнения некоторых запросов в базе данных Rocket UNIVERSE. Я делаю это из командной строки сервера (та же машина, где находится база данных).

В SQLSERVER я мог бы сделать что-то вроде следующего:

sqlcmd -S myServer\instanceName -i C:\myScript.sql

В Oracle так:

SQL>@/dir/test.sql

В УФ не могу понять:

uvsh ??? some.sql file

Итак, в файле test.sql у меня может быть что-то вроде следующего:

"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=91;"
"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=92;"
"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=93;"

Так можно ли это сделать или я иду по этому пути неправильно? Может быть, другой метод более оптимален? -- Спасибо!


person shawno    schedule 18.12.2014    source источник


Ответы (1)


Вы можете отправить список команд процессу UniVerse с помощью следующей команды.

C:\U2\UV\HS.SALES>type test.sql | ..\bin\uv

Вам не понадобится '"' вокруг каждого оператора, который вы описали.

Для учетной записи HS.SALES должны работать следующие команды SQL:

SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='2';
SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='3';
SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='4';

Обратите внимание, что это может не делать то, что вы хотите, это будет отображать результаты в стандартном формате. Кроме того, следует соблюдать осторожность при отправке команд в UniVerse таким образом. Если используются все лицензии UniVerse, команда uv завершится ошибкой, а команды SQL никогда не будут выполняться.

person Mike    schedule 23.01.2015
comment
Спасибо за ваш ответ! Мои извинения за то, что я не был более конкретным. Я на AIX. Файлы данных находятся в /u2/eclipse. Команда uv находится в /u2/uv/bin/uv; хотя, если вы просто наберете uv из /u2/eclipse, вы получите командную строку UV. Итак, когда я ввожу следующее из /u2/eclipse: введите /home/user_dir/test1.sql | uv Я получаю следующее: ›Программа UPDATE.LOGIN.INFO Строка 26, Неверный тип данных. - person shawno; 25.01.2015
comment
Вы пытаетесь вызвать учетную запись Eclipse напрямую. Вы можете избежать этой ошибки, вызвав учетную запись uv. - person Jon; 07.09.2016