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:
This is my personal blog which covers a grab bag of topics that aren't covered by my other blogs.
Showing posts with label Oracle. Show all posts
Showing posts with label Oracle. Show all posts
Tuesday, August 21, 2012
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".
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:
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:
Subscribe to:
Posts (Atom)