Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: running SQL script in UNIX command script

Re: running SQL script in UNIX command script

From: Hans Forbrich <forbrich_at_yahoo.net>
Date: Thu, 04 Dec 2003 18:03:11 GMT
Message-ID: <3FCF76B6.80B3BF40@yahoo.net>


Dave wrote:
>
> Oracle 8.1.7.3:
>
> I have the following in a UNIX shell script:
>
> #!/bin/ksh
> sqlplus /NOLOG <<!
> connect johndoe/password;
> select count(token_text) from dr$item_ctxdesc$i;
>
> When I run it, I get this output:
>
> SQL*Plus: Release 8.1.7.0.0 - Production on Thu Dec 4 12:50:20 2003
>
> (c) Copyright 2000 Oracle Corporation. All rights reserved.
>
> SQL> Connected.
> SQL> select count(token_text) from dr
> *
> ERROR at line 1:
> ORA-00942: table or view does not exist
>
> SQL> Disconnected from Oracle8i Enterprise Edition Release 8.1.7.4.0 -
> 64bit Production
>
> So, it's running, connecting as my user, and then trying to run the
> select statement and failing at the 'from' command.
>
> When I run this statement at the SQL prompt, or in a SQL script(called
> with @script.sql) it works.
>
> What am I missing?

The fact that the $ is the general unix shell 'start of variable'.

Before the shell passes this to SQLPlus, the shell tries to resolve the $i and the $item_ctxdesc variables. What are they set to, I wonder?

Try escaping the $ (usual escape char in unix tends to be a backslash.) Received on Thu Dec 04 2003 - 12:03:11 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US