Re: IIS Postgres ASP ADO - Problem - Mailing list pgsql-odbc

From Marko Ristola
Subject Re: IIS Postgres ASP ADO - Problem
Date
Msg-id 42EE5DCC.7070801@kolumbus.fi
Whole thread Raw
In response to Re: IIS Postgres ASP ADO - Problem  (Marko Ristola <Marko.Ristola@kolumbus.fi>)
List pgsql-odbc
This was a false alarm:
it seems, that the problem that I try to search,
is not this one.

This one seems to work correctly.

I still try to understand, why free()
fails under conninfo_parse().

free() call, that fails, is called from conninfo_parse() directly,
and not within PQconninfoFree() as this one would have been.

Marko Ristola


Marko Ristola wrote:

>I found a crashing problem during CONNECT into a database.
>
>Here is the problem description:
>
>Used Environment:
>libpq-API under PostgreSQL 8.0.3
>CVS HEAD of psqlodbc
>
>libpq does have a problem with freeing memory, that has not been alloced
>with malloc()!
>
>Here is the problem (I don't know, wether the PostgreSQL CVS HEAD has a
>fix for this):
>
>postgresql-8.0.3/src/interfaces/libpq/fe-connect.c, function
>conninfo_parse():
>
>        /* Make a working copy of PQconninfoOptions */
>        options = malloc(sizeof(PQconninfoOptions));
>...
>         memcpy(options, PQconninfoOptions, sizeof(PQconninfoOptions));
>
>Unfortunately PQconninfoOptions[] contains only char*val style pointers
>instead of
>char val[32] type character containers.
>Because of this, the assumption, that memcpy() is enough to copy the
>structure, is not
>true anymore. You should NOT copy a static structure this way!
>
>Working code would be something like this:
>
>options = malloc(sizeof(PQconninfoOptions));
>memcpy(options, PQconninfoOptions, sizeof(PQconninfoOptions));
>for (i=0; PQconninfoOptions[i].val != NULL; i++) {
>  options[i].val = strdup(PQconninfoOptions[i].val);
>  ... same for all other values
>}
>NULL termination.
>
>
>
>Because of this, isql fails with me at the beginning, maybe because
>dmalloc library, that I use for testing, discovered the problem.
>
>Marko Ristola
>
>
>Joel Fradkin wrote:
>
>
>
>>James,
>>
>>The odbc is not working well for me (I can connect but get intermittent
>>issues of the IIS server locking up in regards to connectivity).
>>My understanding is the snapshot version is the best odbc out at this time.
>>
>>Also can you connect via pgadmin (IE have the hba and config files set to
>>allow external connections)?
>>
>>My conection is not using dsn, but I did get dsn to work in testing.
>>My dsnless string is
>>
>>Session("StringConn") =
>>"DRIVER={PostgreSQL};DATABASE=wazagua;SERVER=192.168.123.121;PORT=5432;UID=p
>>ostgres;PWD=;ReadOnly=0;Protocol=6.4;FakeOidIndex=0;ShowOidColumn=0;RowVersi
>>oning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=4096;UnknownSizes=
>>0;MaxVarcharSize=254;MaxLongVarcharSize=8190;Debug=0;CommLog=0;Optimizer=1;K
>>sqo=1;UseDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVarchar=0;BoolsAsC
>>har=1;Parse=0;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;LFConversion=1;Up
>>datableCursors=1;DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinar
>>y=0;UseServerSidePrepare=0"
>>
>>My test using dsn used
>>Session("StringConn") ="DSN=postgresql;" & _
>>        "UID=postgres;" & _
>>        "PWD=;" & _
>>        "Database=wazuni;"
>>
>>asp code to use connection is :
>> dim Arec, Acmd, SQL ,AConn
>> set Arec = server.CreateObject("ADODB.Recordset")
>> Set AConn = Server.CreateObject("ADODB.CONNECTION")
>> set Acmd = server.CreateObject("ADODB.Command")
>> AConn.ConnectionTimeOut=30
>> AConn.commandtimeout=30
>> AConn.Open Session("StringConn")
>>
>>For .net I use the npgsql .net objects.
>>
>>Hope this helps you.
>>
>>Joel Fradkin
>>
>>
>>
>>
>>-----Original Message-----
>>From: James Dornan [mailto:james@catch22.com]
>>Sent: Sunday, July 31, 2005 4:44 PM
>>To: jfradkin@wazagua.com
>>Subject: IIS Postgres ASP ADO - Problem
>>
>>
>> I noticed more than a few post from you about trying to get Postgres
>>working with ODBC.
>>I'm hoping that maybe you would share some of that information. I am
>>running IIS under
>>windos 2003 server, and the latest(8.0.3) Postgres server on the same
>>machine. I cannot
>>connect no matter what I do. I have tried everything.
>>
>> The funny part is that I'm not new to ODBC, or windows. I've worked
>>with windows all
>>the time, but just can't figure this one out. I've tried using a
>>connection string, a DSN,
>>reinstalling, IIS, Postgres, ODBC drivers, MDAC, Jet, and so on. I still
>>have the same problem.
>>The odbc drive and it's dependant DDLs are in the path. The permisions
>>are wide open
>>(for testing this specific problem).
>>
>> Is there any insight you could shed on the dark world of windows and
>>ODBC, where feed-
>>back is rare.
>>
>> Thanks for any help you can provide.
>>
>>-- James
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 2: Don't 'kill -9' the postmaster
>>
>>
>>
>>
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 2: Don't 'kill -9' the postmaster
>
>


pgsql-odbc by date:

Previous
From: Marko Ristola
Date:
Subject: Re: IIS Postgres ASP ADO - Problem
Next
From: "Dave Page"
Date:
Subject: Re: Lowercase folding - simple patch?