Showing posts with label Oracle. Show all posts
Showing posts with label Oracle. Show all posts

Tuesday, August 21, 2012

Removing leading and trailing spaces from Oracle SQL*Plus spooled output

Oracle's SQL*Plus application spools fields with spaces even if you try to trim the fields, because SQL*Plus is "doing you a favor" by making the fields line up. One way to work around this is to concatenate all fields into one big field so that SQL*Plus spools one big field. However, when I tried this with some very large fields, I got an error implying that I was concatenating too many characters. So how to work around this?

Here's what I did: I let SQL*Plus spool a tab delimited file with leading and trailing spaces (trailing blanks for all fields except for a field which uses STRAGG and had one leading space). Then I created an awk script to remove the leading and trailing spaces with code similar to the following:

Tuesday, October 20, 2009

Oracle Wallet and tracing didn't work when executed by cron jobs

For those who may find it helpful, here's a problem I ran into along with the solution.

When a Korn shell script using Oracle 10gR2 client's sqlplus was run manually at the command prompt, the script successfully used an Oracle Wallet to log in and run an SQL script.

However, when the same ksh script was run with a cron job, I would get the following error:
"ORA-12534: TNS:operation not supported".

Thursday, October 01, 2009

Workaround for SQL*Loader-297/ORA-01756 problem

Upgraded Oracle SQL*Loader (a.k.a. sqlldr) from a 9i version to a 10gR2 version on two computers, with release 10.2.0.1.0 on one computer and release 10.2.0.4.0 on the other.

Some ctl files have the following line:

flag "'N'",

When I'd run sqlldr release 10.2.0.4.0 or the 9i version of sqlldr, the above line caused no problems.

But when I'd run it on release 10.2.0.1.0, I'd get this error:

SQL*Loader-297: Invalid syntax or bind variable in SQL string for column FLAG.
ORA-01756: quoted string not properly terminated

I found I was able to get the ctl files to work with release 10.2.0.1.0 by changing the problematic line to this: