Estoy tratando de conectar a Oracle db utilizando un ksh secuencia de comandos. Cuando ejecuto directamente desde el símbolo del sistema, funciona. Pero cuando me lo puse dentro de un script (abc.sh) se produce un error. A continuación es lo que he puesto en el script (editado para hacer que sea más corto):

Aquí abc es el nombre de usuario, mientras que abc$123 es la contraseña de el usuario que tiene acceso a la base de datos de DBNAME.

 #!/usr/bin/ksh

 sqlplus -s /nolog << EOF > output
 connect abc/abc$123@DBNAME;

 set echo off
 set heading off

 select table_name from dba_tables;
 exit;
 EOF

Esto funciona si se escribiera directamente, sino que ejecutar como ./abc.sh, da error –

 ERROR ORA-01017: invalid username/password; logon denied

Estoy seguro de que me estoy perdiendo algo simple, pero no puede entender esto. Gracias por tu ayuda.

InformationsquelleAutor xcentaur | 2013-11-01

1 Comentario

  1. 2

    Usted no puede simplemente escribir un código como este y esperamos que sea aprobado para el programa pertinente. SQL líneas están siendo ejecutados por KSH en lugar de SQL server. En su lugar usted necesita para hacer algo más a lo largo de las líneas de:

    echo "SQL CODE HERE" | sqlplus ....
    • Muchas gracias por esto! He cambiado para que se lea: sqlplus -s /nolog @abc.sql donde abc.sql tenía la conexión y consultas de selección. Gran trabajo ahora.
    • Gracias Velox. Me ayudó demasiado. Yo estaba buscando este pasado 1 hora.

Dejar respuesta

Please enter your comment!
Please enter your name here