Large Object through ODBC - Mailing list pgsql-interfaces

From Raymond
Subject Large Object through ODBC
Date
Msg-id 4.3.2.7.0.20010302165758.00a91950@192.168.1.204
Whole thread Raw
In response to Re: JDBC error codes to detect duplicates?  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-interfaces
hi,<br />         i'm a newbie to PostgresQL, currently trying to use the ODBC driver. i'm connecting from my Win98
machineto a PostgresQL installation on a Linux box. i'm trying out the sample code from the MSDN concerning sending
largeobjects through ODBC but i cannot get the code to work.    <br /><br />         What i did is create a test table
with(id int, obj lo) and then just try to insert some data into it. The strange things is that after the
executestatement,it does not even return a SQL_NEED_DATA even though i have binded the parameter to a
SQL_LONGVARBINARY.it just finished with the executino and over at the database side, an empty large object is created,
i'veattached the code and logs from the ODBC driver below. Hope someone can point out what am i doing wrong here.
Thanks!<br/><br /> Code<br /> -----------------------------<br /><font size="2">retcode = SQLPrepare ( hstmt, (unsigned
char*)"INSERTINTO a (id , obj) VALUES ( ? , ? ) ",SQL_NTS ); <br /> SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT,
SQL_C_ULONG,SQL_INTEGER, 0, 0, &sID, 0, &cbID);<br /> SQLBindParameter(hstmt, 2, SQL_PARAM_INPUT, SQL_C_BINARY,
SQL_LONGVARBINARY,0, 0, (SQLPOINTER)2, 0, &cbObj);<br /><br /> cbObj = SQL_LEN_DATA_AT_EXEC(0);                <br
/>sID = 1;<br />                         <br /> retcode = SQLExecute(hstmt);        <br />         <br /> if (retcode
==SQL_NEED_DATA) {<br />         printf("Need Data\n");<br /> }<br /></font>-----------------------------<br /><br
/><fontsize="2">Log<br /></font>-----------------------------<br /><font size="2">conn=15272060, SQLDriverConnect(
in)='DSN=POSTGRESQL;',DriverCompletion=0<br /> DSN info:
DSN='POSTGRESQL',onlyread='0',protocol='6.4',showoid='1',fakeoidindex='0',showsystable='0'<br/>          
conn_settings=''translation_dll='',translation_option=''<br /> Global Options: Version='06.50.0000', fetch=100,
socket=4096,unknown_sizes=0, max_varchar_size=254, max_longvarchar_size=8190, disable_optimizer=1, ksqo=1,
unique_index=0,use_declarefetch=0, text_as_longvarchar=1, unknowns_as_longvarchar=0, bools_as_char=1,
extra_systable_prefixes='dd_;',conn_settings=''<br /> conn=15272060, query=' '<br /> conn=15272060, query='set
DateStyleto 'ISO''<br /> conn=15272060, query='set geqo to 'OFF''<br /> conn=15272060, query='set ksqo to 'ON''<br />
conn=15272060,query='select oid from pg_type where typname='lo''<br />     [ fetched 1 rows ]<br />     [ Large Object
oid= 350752 ]<br /> conn=15272060,
SQLDriverConnect(out)='DSN=POSTGRESQL;DATABASE=test;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;SHOWOIDCOLUMN=1;ROWVERSIONING=0;SHOWSYSTEMTABLES=0;CONNSETTINGS='<br
/>conn=15272060, query='BEGIN'<br /> conn=15272060, query='COMMIT'<br /> conn=15272060, query='BEGIN'<br />
conn=15272060,query='INSERT INTO a (id , obj) VALUES ( 100 , '4157953' ) '<br /> conn=15272060, query='COMMIT'<br />
conn=15272060,SQLDisconnect<br /></font>----------------------------- 

pgsql-interfaces by date:

Previous
From: Peter T Mount
Date:
Subject: Re: JDBC error codes to detect duplicates?
Next
From: Max Khon
Date:
Subject: Re: JDBC error codes to detect duplicates?