Обсуждение: BoolsAsChar
I am running the same version of the libodbcpsql.sl on two different
machines, and for some unknown reason the values in odbc.ini are being
ignored with regard to the BoolsAsChar setting.
I turned CommLog on on both machines, and see the trace from both
executions. On the good machine the bools_as_char setting reflects its
odbc.ini setting, and on the bad machine it always shows as 1.
I have been racking my brain trying to remember all the things I did on the
development machine to get my odbc library stuff working, and maybe I am
just missing something on the IT machine.
Bad Machine Output:
conn = 1073859256, PGAPI_Connect(DSN='EMSADM', UID='emsadm', PWD='')
Global Options: Version='07.01.0009', fetch=100, socket=4096,
unknown_sizes=0, max_varchar_size=254, max_longvarc
har_size=8190
disable_optimizer=1, ksqo=1, unique_index=1,
use_declarefetch=0
text_as_longvarchar=1, unknowns_as_longvarchar=0,
bools_as_char=1
extra_systable_prefixes='dd_;', conn_settings=''
Good Machine output
conn = 1073859120, PGAPI_Connect(DSN='Eric', UID='eric', PWD='')
Global Options: Version='07.01.0009', fetch=100, socket=4096,
unknown_sizes=0, max_varchar_size=254, max_longvarchar_size
=8190
disable_optimizer=1, ksqo=1, unique_index=1,
use_declarefetch=0
text_as_longvarchar=1, unknowns_as_longvarchar=0,
bools_as_char=0
extra_systable_prefixes='dd_;', conn_settings=''
Any Ideas
Eric
Eric Hallander
Tellium Inc.
2 Crescent Place
Oceanport, NJ 07757
(732) 483-2922
(732) 923-9804 FAX
mailto:ehallander@tellium.com <mailto:ehallander@tellium.com>
http://www.tellium.com <http://www.tellium.com/>
I have recently upgraded from postgresql-7.2x to postgresql-7.3, and also downloaded the ODBC version psqlodbc-7.01.00.03-src. My application is running on Solaris, and was running correctly under postgresql-7.2x However, attempting to run under postgresql-7.3 and the psqlodbc-7.01 appears to have problems. 1 - apparently there is a problem with the flag "ksqo", which 7.3 does not recognize. I found a patch in the archives which apparently just comments out the SQLExecDirect call which sets the flag. The patch doesn't match the code in connection.c, however.... 2 - apparently there is a problem in that my database appears to be opened readonly. Using SQLDirectExec with the string "update MYCOUNTER set CVALUE = 101 where CNAME='USER_ID'" fails with the error message 'Connection is readonly'. I can issue the same SQL statement from psql successfully. Is there some other flag that changed? Any hints? The client is running on Solaris, not NT. Thanks, Matt M
> -----Original Message-----
> From: Matt Clark [mailto:mclark@rushe.aero.org]
> Sent: 12 December 2002 23:39
> To: pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] BoolsAsChar
Hi,
> 1 - apparently there is a problem with the flag "ksqo", which
> 7.3 does not
> recognize. I found a patch in the archives which apparently
> just comments out
> the SQLExecDirect call which sets the flag. The patch
> doesn't match the code in
> connection.c, however....
In connection.c here (on the machine that built the distribution) I
have:
/* KSQO (not applicable to 7.1+ - DJP 21/06/2002) */
if (ci->drivers.ksqo && PG_VERSION_LT(self, 7.1))
{
result = PGAPI_ExecDirect(hstmt, "set ksqo to 'ON'",
SQL_NTS);
if ((result != SQL_SUCCESS) && (result !=
SQL_SUCCESS_WITH_INFO))
status = FALSE;
mylog("%s: result %d, status %d from set ksqo\n", func,
result, status);
}
What do you have in connection.c?
Regards, Dave.
Just to add alittle spice, I am running 7.2.3 PG on both machines, and I did finally get BoolsAsChar recognized, but it was only after moving the attributes from my odbcinst.ini to my odbc.ini file. While this perplexes me, I will take the solution. I don't understand how the Driver parameter could be read successfully from the odbcinst.ini, but not the other parameters. Oh well. Thanks Eric > -----Original Message----- > From: Eric Hallander [mailto:ehallander@tellium.com] > Sent: Thursday, December 12, 2002 5:30 PM > To: pgsql-odbc@postgresql.org > Subject: [ODBC] BoolsAsChar > > > I am running the same version of the libodbcpsql.sl on two different > machines, and for some unknown reason the values in odbc.ini are being > ignored with regard to the BoolsAsChar setting. > > I turned CommLog on on both machines, and see the trace from both > executions. On the good machine the bools_as_char setting reflects its > odbc.ini setting, and on the bad machine it always shows as 1. > > I have been racking my brain trying to remember all the > things I did on the > development machine to get my odbc library stuff working, and > maybe I am > just missing something on the IT machine. > > > Bad Machine Output: > conn = 1073859256, PGAPI_Connect(DSN='EMSADM', UID='emsadm', PWD='') > Global Options: Version='07.01.0009', fetch=100, socket=4096, > unknown_sizes=0, max_varchar_size=254, max_longvarc > har_size=8190 > disable_optimizer=1, ksqo=1, unique_index=1, > use_declarefetch=0 > text_as_longvarchar=1, unknowns_as_longvarchar=0, > bools_as_char=1 > extra_systable_prefixes='dd_;', conn_settings='' > > > > Good Machine output > conn = 1073859120, PGAPI_Connect(DSN='Eric', UID='eric', PWD='') > Global Options: Version='07.01.0009', fetch=100, socket=4096, > unknown_sizes=0, max_varchar_size=254, max_longvarchar_size > =8190 > disable_optimizer=1, ksqo=1, unique_index=1, > use_declarefetch=0 > text_as_longvarchar=1, unknowns_as_longvarchar=0, > bools_as_char=0 > extra_systable_prefixes='dd_;', conn_settings='' > > > Any Ideas > > Eric > > > Eric Hallander > Tellium Inc. > 2 Crescent Place > Oceanport, NJ 07757 > (732) 483-2922 > (732) 923-9804 FAX > mailto:ehallander@tellium.com <mailto:ehallander@tellium.com> > http://www.tellium.com <http://www.tellium.com/> > > > > ---------------------------(end of > broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to > majordomo@postgresql.org >