Solución:
Estoy un poco confundido. Debería poder llamar a sqlplus desde el script bash. Esto puede ser lo que estabas haciendo con tu primera declaración.
Intente ejecutar lo siguiente dentro de su script bash:
#!/bin/bash
echo Start Executing SQL commands
sqlplus <user>/<password> @file-with-sql-1.sql
sqlplus <user>/<password> @file-with-sql-2.sql
Si desea poder pasar datos a sus scripts, puede hacerlo a través de SQLPlus pasando argumentos al script:
Contenido de archivo-con-sql-1.sql
select * from users where username="&1";
Luego cambie el script bash para llamar a sqlplus pasando el valor
#!/bin/bash
MY_USER=bob
sqlplus <user>/<password> @file-with-sql-1.sql $MY_USER
También puede utilizar un “documento aquí” para hacer lo mismo:
VARIABLE=SOMEVALUE
sqlplus connectioninfo << HERE
start file1.sql
start file2.sql $VARIABLE
quit
HERE
Tal vez pueda canalizar la consulta SQL a sqlplus. Funciona para mysql:
echo "SELECT * FROM table" | mysql --user=username database
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)