Re: IIS Postgres ASP ADO - Problem - Mailing list pgsql-odbc
From | Marko Ristola |
---|---|
Subject | Re: IIS Postgres ASP ADO - Problem |
Date | |
Msg-id | 42EE5876.7020109@kolumbus.fi Whole thread Raw |
In response to | Re: IIS Postgres ASP ADO - Problem ("Joel Fradkin" <jfradkin@wazagua.com>) |
Responses |
Re: IIS Postgres ASP ADO - Problem
|
List | pgsql-odbc |
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 > >
pgsql-odbc by date: