Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
Supriya Madhuram — — source: Informix-list mailing list archive (1991-1998)
Hello everyone
I want to know if I can have multi-threaded clients accessing
an Informix 7.2 database.
I have two threads in my application and when both of them
access the db using ESQL statements (preparing and fetching cursors
etc),
I get the a -439 error code.
finderr -439-439 Database server is currently processing an SQL task.
You attempted to call an SQL routine or attempted to execute an SQL
statement within a signal handling function/routine or a callback
function/procedure. Use only the sqldone() and sqlbreak() library
functions inside your INFORMIX-ESQL/C callback function. Use only the
ECO-SQD and ECO-SQB library routines inside your ESQL/COBOL callback
procedure. In addition, if you want to unregister your callback
function in INFORMIX-ESQL/C, you can invoke the sqlbreakcallback()
callback registration function within your callback procedure. If you
want to unregister your callback procedure in ESQL/COBOL, you can
invoke the ECO-SQBCB callback registration routine within your callback
procedure.
I am using only one database connection for both threads. Should I
open separate connections and execute the ESQL commands? Will that
solve my problem or should I synchronize the db access so that only
one thread accesses it at any time? Both threads only read the db,
and do not modify or delete anything.
I am running Informix 7.2 on Solaris 2.51
Hope someone can help.
Supriya Madhuram
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.