AW: [INTERFACES] Postgres (NT), ODBC and DBTools - Mailing list pgsql-interfaces
From | Teulings, Tim |
---|---|
Subject | AW: [INTERFACES] Postgres (NT), ODBC and DBTools |
Date | |
Msg-id | 23B6DB75C598D111872B00C04F9BF00185C5B4@ntexc1mat.Materna.DE Whole thread Raw |
List | pgsql-interfaces |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo! > Have you tried switching on logging in the ODBC driver to see what > is being sent to the backend? Yes, here is an example output (hope it is not too long)... It contains the initialisation some queries and the a final UPDATE with causes a parse error (see STATEMENT ERROR...). After looking at it again, I'm not sure if it is a problem with the colon. The "?" in the statement looks supicious (itis near the 'where' stated in the error message). AFAIK ODBC does allow binding of variables (bind variable, bound expresion) and DBTools uses this. Is the "?" legal at this point (it references the value bound to a variable) or is it a error? Perhaps it is a problem with the ODBC driver settings? conn=25902376, SQLDriverConnect( in)='DSN=template1;UID=XXX;PWD=XXX;', fDriverCompletion=0 DSN info: DSN='template1',server='localhost',port='5432',dbase='template1',user= XXX',passwd='XXX' readonly='0',protocol='6.4',showoid='0',fakeoidindex='1',showsystable= 1' conn_settings='' translation_dll='',translation_option='' Global Options: Version='06.40.0006', fetch=100, socket=4096, unknown_sizes=0, max_varchar_size=254, max_longvarchar_size=8190 disable_optimizer=0, ksqo=1, unique_index=1, use_declarefetch=1 text_as_longvarchar=1, unknowns_as_longvarchar=0, bools_as_char=1 extra_systable_prefixes='dd_;', conn_settings='' conn=25902376, query=' ' conn=25902376, query='set DateStyle to 'ISO'' conn=25902376, query='set ksqo to 'ON'' conn=25902376, query='BEGIN' conn=25902376, query='declare SQL_CUR018C0040 cursor for select oid from pg_type where typname='lo'' conn=25902376, query='fetch 100 in SQL_CUR018C0040' [ fetched 0 rows ] conn=25902376, query='close SQL_CUR018C0040' conn=25902376, query='END' conn=25902376, SQLDriverConnect(out)='DSN=template1;DATABASE=template1;SERVER=localho t;PORT=5432;UID=XXX;PWD=XXX;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=1;SHO OIDCOLUMN=0;ROWVERSIONING=0;SHOWSYSTEMTABLES=1;CONNSETTINGS=' conn=25902376, query='BEGIN' conn=25902376, query='declare SQL_CUR018F1650 cursor for select relname, usename, relhasrules from pg_class, pg_user where relkind = 'r' and relname like 'mds' and relname !~ '^xinv[0-9]+' and int4out(usesysid) = int4out(relowner)order by relname' conn=25902376, query='fetch 100 in SQL_CUR018F1650' [ fetched 1 rows ] conn=25902376, query='close SQL_CUR018F1650' conn=25902376, query='END' conn=25902376, query='BEGIN' conn=25902376, query='declare SQL_CUR018E1580 cursor for select u.usename, c.relname, a.attname, a.atttypid,t.typname, a.attnum, a.attlen, a.atttypmod, a.attnotnull from pg_user u, pg_class c, pg_attribute a, pg_type t where int4out(u.usesysid) = int4out(c.relowner) and c.oid= a.attrelid and a.atttypid = t.oid and (a.attnum > 0) and c.relname like 'mds' order by attnum' conn=25902376, query='fetch 100 in SQL_CUR018E1580' [ fetched 3 rows ] conn=25902376, query='close SQL_CUR018E1580' conn=25902376, query='END' conn=25902376, query='BEGIN' conn=25902376, query='declare SQL_CUR018D13E0 cursor for SELECT t57.* FROM MDS t57 WHERE 0=0 AND t57.MsgKey LIKE 'CRC'' conn=25902376, query='fetch 100 in SQL_CUR018D13E0' [ fetched 0 rows ] conn=25902376, query='close SQL_CUR018D13E0' conn=25902376, query='END' conn=25902376, query='BEGIN' conn=25902376, query='declare SQL_CUR018D13E0 cursor for SELECT CXMgl.MglID, CXMgl.Name, CXMgl.Vorname, CXMgl.GebDat FROM CXMgl CXMgl ORDER BY CXMgl.Name ASC, CXMgl.Vorname ASC' conn=25902376, query='fetch 100 in SQL_CUR018D13E0' [ fetched 100 rows ] conn=25902376, query='fetch 100 in SQL_CUR018D13E0' [ fetched 100 rows ] conn=25902376, query='fetch 100 in SQL_CUR018D13E0' [ fetched 100 rows ] conn=25902376, query='declare SQL_CUR018E3008 cursor for SELECT CXMgl.RowVersion, CXMgl.Name, CXMgl.Vorname, CXMgl.GebDat, CXMgl.Strasse, CXMgl.Ort, CXMgl.OrtID, CXFirma1.Name, CXFirma1.Ort, CXMgl.FirmaID, CXMgl.Telefon, CXMgl.Fax, CXMgl.EMail, CXMgl.Sex, CXMgl.Bemerk FROM CXMgl CXMgl, CXFirma CXFirma1 WHERE CXMgl.FirmaID = CXFirma1.FirmaID AND CXMgl.MglID = 2776' conn=25902376, query='fetch 100 in SQL_CUR018E3008' [ fetched 1 rows ] conn=25902376, query='UPDATE CXMgl SET RowVersion = 2, Vorname = ? WHERE RowVersion = 1 AND MglID = 2776' ERROR from backend during send_query: 'ERROR: parser: parse error at or near "where"' conn=25902376, query='COMMIT' STATEMENT ERROR: func=SC_execute, desc='', errnum=1, errmsg='Error while executing the query' - ------------------------------------------------------------ hdbc=25902376, stmt=26161368, result=0 manual_result=0, prepare=1, internal=0 bindings=0, bindings_allocated=0 parameters=25897048,parameters_allocated=1 statement_type=2, statement='UPDATE CXMgl SET RowVersion = 2, Vorname = ? WHERE RowVersion = 1 AND MglID = 2776' stmt_with_params='UPDATE CXMgl SET RowVersion= 2, Vorname = ? WHERE RowVersion = 1 AND MglID = 2776' 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_CUR018F30D8' ----------------QResult Info - ------------------------------- CONN ERROR: func=SC_execute, desc='', errnum=110, errmsg='ERROR: parser: parse error at or near "where"' - ------------------------------------------------------------ henv=25902360, conn=25902376, status=1, num_stmts=16 sock=25896528, stmts=25896576, lobj_type=-999 ---------------- Socket Info - ------------------------------- socket=52, reverse=0, errornumber=0, errormsg='(null)' buffer_in=25908712,buffer_out=25912816 buffer_filled_in=3, buffer_filled_out=0, buffer_read_in=2 conn=25902376, SQLDisconnect - -- Gruß... Tim. -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 6.5.1 for non-commercial use <http://www.pgp.com> iQA/AwUBOCA5x4aerLtCfP4IEQLJ5ACghmFg+XFTSi3z2AgP7sLtiyauK+oAoKhn 4/wO4dI++wGmvvCphrDHnxUo =doEE -----END PGP SIGNATURE-----
pgsql-interfaces by date: