TCL(Tool Command Language) Scripting
ORATCL help needed!
I have re-invigorated my interest in TCL + extensions after a 5 year
absence. I have rewritten some old HPUX apps to run on Windows 2000,
Tcl8.4 using Oratcl 4.4 / 3.3
I am unable to use Oratcl 4.4 because it reports a nasty application
error (NOT a TCL error) during the command 'oralogon'. Now I assume
this is because I am trying to use it with the OCI 8.0 client
I am able to use Oratcl 3.3 but it reports ORA-01007 "variable not in
select list" whenever I change the sql select string and use the SAME
cursor variable. For example:
# open the channel
set cursor [ oraopen $handle ]
orasql $cursor "select COL1 from TABLE where SOMETHING"
# This executes as expected.
orasql $cursor "select COL1,COL2 from TABLE where SOMETHING"
returns the error ORA-01007
I notice the ONLY way to get multiple select statements to work is by
repeatedly closing the cursor and then opening the cursor. It seems as
if the previous SQL statement is not cleared from the cursor internal
Is it a ORA-nnnnn error? Have you looked up what it means?
> I have re-invigorated my interest in TCL + extensions after a 5 year
> absence. I have rewritten some old HPUX apps to run on Windows 2000,
> Tcl8.4 using Oratcl 4.4 / 3.3
> I am unable to use Oratcl 4.4 because it reports a nasty application
> error (NOT a TCL error) during the command 'oralogon'. Now I assume
> this is because I am trying to use it with the OCI 8.0 client
> libs ???
I never reuse statements. Is there any point in them?
Lots of Greetings!
For email replies, please substitute the obvious.
On 1 Jun, 17:14, Volker Hetzer <firstname.lastname@example.org> wrote:
No it is not an ORA-nnnnn error. It is a Wish.exe error - "instruction
at 0x00000000 unreadable memory" which then causes the interpreter to
I do not intend to re-use the statements per se but rather re-use the
'opened' cursor with differing statements
but this seems to be a problem?
I think you have a bad build somewhere.
I constantly reuse the same cursor with no problem.
As a side issue (nothing to do with this problem), I suggest you may want to
use prepare and bound variable queries, particularly if you are using user
entered data in the SQL.
| Gerald W. Lester |
|"The man who fights for his ideals is the man who is alive." - Cervantes|
On Jun 1, 9:24 am, mets <email@example.com> wrote:
Wow, An Oratcl 3.3. help request. Sorry but thats the first one of
those I've gotten in over 5 years.
First of all. There is no way that any Oratcl 4.x will ever work with
OCI 8.0 libs. It is coded with the the OCI layer released with Oracle
Second.. I remember this, there were several bugs in the OCI 8.0
versions that affected Oratcl.
Third.. Re-using statement handles has been part of Oratcl for many
many years. I do it all the time.
Why OCI 8.0?
Oracle instant client is available for many many platforms, have you
tried any of those?
Is the destination database also 8.0?
Did you compile Oratcl 3.3 for yourself.
Is your Oracle client 8.0 patched with all the patches available from
What OS and Tcl version are you using?
On 6 Jun, 13:27, "firstname.lastname@example.org" <email@example.com> wrote:
Our production process is using Oracle 7.3.4 ! As you can image it is
due an upgrade. I believe we will move to 10g.
I loved working with TCL/Oratcl all those years ago and after slogging
to write a couple of forms with C++ and MFC thought
why not look at TCL again. So I began the development with ActivetTcl
8.4 and stuff.
I guess ultimately I need to install the 10g Client. I want to be able
to wrap the files up and distribute them. I have a trial license on
the TclDevKit application. (tho I am not sure if the Oratcl3.3 is
stubs enabled or not?)
Will the 10g client allow me to connect to 7.3.4 server? It may be
easier to migrate to Oratcl4.4 in the meantime!
I am using a precompiled binary of Oratcl 3.3 I think I got it from
Oracle8 Client 188.8.131.52.0
Windows2000 Service Pack 4
mets wrote: The Oratcl in ActiveTcl is stubs enabled, but it is also Oratcl v4. I
> I guess ultimately I need to install the 10g Client. I want to be able
> to wrap the files up and distribute them. I have a trial license on
> the TclDevKit application. (tho I am not sure if the Oratcl3.3 is
> stubs enabled or not?)
don't know where the Oratcl3.3 binaries are from, but you can check if
they are stubs enabled by running the dependency checker on them. A
stubs enabled extension should *not* link to tcl84.dll (that magic is
done at load-time).
On Jun 6, 9:28 am, mets <firstname.lastname@example.org> wrote:
I do not believe that the 10g instant client will connect to a pre 8i
instance. I believe that your only option at this point it to code
around the error by not re-using statement handles. ( a performance
As there is no way at this point to get patches from oracle on a db/
client that old, I think thats a dead end.
I firmly believe that this is an Oracle library error, not oratcl.
I re-used cursor handles in oratcl 3.3 for years (back when I used