kinterbase and stored procedure

  • Thread starter Alexander Eisenhuth
  • Start date
A

Alexander Eisenhuth

Hallo everybody using kinterbase,

I' relative new to DB and python, so forgive if the
questions is stupide.

I'm trying to write the declaration of a SP to the server in
the way:

SPSETUP = \
"SET TERM !!;
" CREATE PROCEDURE MYPROC
AS ..."

cursor = kinterbasdb.connect(...)
cursor.excute(SPSETUP)

But it seems that anything has problems with "SET TERM !!"
expression . If I use the DB SQL console, everything seems
to be OK (the proc is setup)

''' kinterbasdb.ProgrammingError : (-104,
'isc_dsql_execute_immediate: Dynamic SQL Error. SQL error
code = -104. Token unknown - line 1, char 4. TERM. ') '''


Any help is very welcome ...

Regards
Alexander
 
G

Gandalf

cursor = kinterbasdb.connect(...)
cursor.excute(SPSETUP)

But it seems that anything has problems with "SET TERM !!" expression
. If I use the DB SQL console, everything seems to be OK (the proc is
setup)

Yes, that is true. The "SET TERM" command is not really a command that
is processed by the backend.
Please note that the terminator is used to separate commands. However,
you will (normally) execute only one
command at a time with "cursor.execute". So you should create your
procedure without the "SET TERM".
InterBase will surely know that this is only one command. You can try to
run the "SET TERM" command
in a separate "cursor.execute", but probably that is not needed. I had
the same problem with Oracle triggers
before - you must not place the ending "/" character when createing
Oracle triggers from your own program.

Please let me know if it helps.
Best,

Laci 2.0
 
A

Alexander Eisenhuth

Gandalf said:
Yes, that is true. The "SET TERM" command is not really a command that
is processed by the backend.
Please note that the terminator is used to separate commands. However,
you will (normally) execute only one
command at a time with "cursor.execute". So you should create your
procedure without the "SET TERM".
InterBase will surely know that this is only one command. You can try to
run the "SET TERM" command
in a separate "cursor.execute", but probably that is not needed. I had
the same problem with Oracle triggers
before - you must not place the ending "/" character when createing
Oracle triggers from your own program.

Please let me know if it helps.

Thanks a lot, that is the solution.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,209
Messages
2,571,088
Members
47,684
Latest member
sparada

Latest Threads

Top