Как запустить запрос выбора SQL в базе данных Oracle через сценарий оболочки?

1

Мне нужно запустить SQL select запрос в базе данных Oracle и должны захватить список полученных записей в сценарии оболочки. Также я хотел бы изменить запрос для определенных условий и должен получить его снова. Как я могу это сделать?

Есть ли способ иметь постоянное соединение с базой данных Oracle с помощью сценария оболочки?

newbie dev
источник

Ответы:

2

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

#!/bin/bash

DatabaseconnectStr=user/password@ALIAS
Dynamic=DynamicContent

sqlplus -S ${DatabaseconnectStr} << EOF

spool results.out
SELECT * FROM YOUR_TABLE WHERE COLUMN = ${Dynamic} ;
spool off
exit;
EOF
Eli
источник
Любой, кто использует это, пожалуйста, убедитесь, что папка, в которую вы помещаете скрипт, доступна только для вас. Или же поместите пароль в другой файл в защищенной папке и включите его в сценарий. Тем не менее, я бы не стал делать это в производстве.
Patrick R.
Чтобы обойти эту проблему, нужно, чтобы инструмент, подобный Jenkins, вызывал скрипт и сохранял там пароли, чтобы он не был виден другим, пока не будет предоставлен.
Eli