From: | "Mike Miller" <mmiller(at)pooka(dot)otago(dot)ac(dot)nz> |
---|---|
To: | "Pgsql-Odbc(at)Postgresql(dot) Org" <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Large Objects; ODBC & Transactions |
Date: | 2001-11-12 01:00:55 |
Message-ID: | NFBBKNGDCLACAKIKLJIPOEMHCBAA.mmiller@pooka.otago.ac.nz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
First it was ODBC & Transactions; now I've added Large Objects into the
soup!
I'm using the a modified version of the VB code (POSTGRESQL, LO and VISUAL
BASIC MINI-HOWTO) by Denis Gasparin found at
http://odbc.postgresql.org/ftpsite/odbc/pgsql-lo-vb-MiniHowto.txt
When trying to update a table with the code I get the error message :-
Could not begin (in-line) a transaction
*if* I have *already* started a transaction. If there is no transaction;
then the code works fine (which is a good thing).
You can see below;
my BEGIN WORK,
my update practical set description ...
*NOT* my BEGIN
--> FAILED
should be followed by
my update practical set picture ...
psqlodbc-log
conn=136331840, query='BEGIN WORK'
conn=136331840, query='update Practical set Description = 'An introduction
to ... [SNIP]
conn=136331840, query='BEGIN'
NOTICE from backend during send_query: 'NOTICE: BEGIN: already a
transaction in progress
'
STATEMENT ERROR: func=copy_statement_with_parameters, desc='', errnum=1,
errmsg='Could not begin (in-line) a transaction'
-----------------------------------------------------------
-
hdbc=136331840, stmt=126552752, result=0
manual_result=0, prepare=0, internal=0
bindings=0, bindings_allocated=0
parameters=126558144, parameters_allocated=1
statement_type=2, statement='update Practical set Picture =
? where PracticalID = 1'
stmt_with_params='update Practical set Picture = n = 'An
introduction [SNIP]
data_at_exec=-1, current_exec_param=-1, put_data=0
currTuple=-1, current_col=-1, lobj_fd=-1
maxRows=0, rowset_size=1, keyset_size=0, cursor_type=0,
scroll_concurrency=1
cursor_name='SQL_CUR078B0AB0'
----------------QResult
Info -------------------------------
CONN ERROR: func=copy_statement_with_parameters, desc='', errnum=0,
errmsg=''
------------------------------------------------------------
henv=126553968, conn=136331840, status=1, num_stmts=16
sock=126553920, stmts=126553840, lobj_type=62566
---------------- Socket Info -------------------------------
socket=724, reverse=0, errornumber=0, errormsg='(NULL)'
buffer_in=136342724, buffer_out=136346824
buffer_filled_in=60, buffer_filled_out=0, buffer_read_in=60
conn=136331840, PGAPI_Disconnect
Shouldn't the code test to see if a transaction is running before it tries
to start another?
Is this a bug? Does it happen in other tests? I'm using PostgreSQL 7.1.2
and psqlodbc 07.01.0008.
I don't particularly have a problem with this; I can work around it by
FTPing the file to the server and then adding it to the database using
lo_import - which is what I did originally.
Regards,
Mike Miller
Application Software Developer,
School Of Physical Education,
University Of Otago,
+64 3 479 9123
http://physed.otago.ac.nz
From | Date | Subject | |
---|---|---|---|
Next Message | Hiroshi Inoue | 2001-11-12 01:02:05 | Re: [ODBC] MD5 support for ODBC |
Previous Message | Dave Page | 2001-11-11 20:21:49 | Re: Last inserted id |