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


1

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

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

Ответы:


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

Любой, кто использует это, пожалуйста, убедитесь, что папка, в которую вы помещаете скрипт, доступна только для вас. Или же поместите пароль в другой файл в защищенной папке и включите его в сценарий. Тем не менее, я бы не стал делать это в производстве.
Patrick R.

Чтобы обойти эту проблему, нужно, чтобы инструмент, подобный Jenkins, вызывал скрипт и сохранял там пароли, чтобы он не был виден другим, пока не будет предоставлен.
Eli
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.