Re: ODBCv3 help...

From: James Chin <jchin(at)openlinksw(dot)com>
To: pgsql-odbc(at)postgresql(dot)org
Subject: Re: ODBCv3 help...
Date: 2004-07-02 20:32:44
Message-ID: lpgbe0571rsnqg3eos4esgptk1uq763f2r@4ax.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hello Eric,

I can't tell you why it's failing. It sounds like the value of dbc
after the SQLConnect is a NULL value, which would cause SQLDisconnect
to core. I'd suggest that you perform some error checking:

if (SQLConnect( dbc,
(SQLCHAR*) "erictest", SQL_NTS,
(SQLCHAR* ) "olsoneg", SQL_NTS,
(SQLCHAR*) NULL, SQL_NTS ) != SQL_SUCCESS)
{ ... then deal with it ...}

If the return value is not SQL_SUCCESS, you would then use SQLError to
determine what the problem is.

Regards,
James Chin
OpenLink Software Inc.
http://www.openlinksw.com
Product Weblogs:
Virtuoso: http://www.openlinksw.com/weblogs/virtuoso
UDA: http://www.openlinksw.com/weblogs/uda
Universal Data Access & Virtual Database Technology

On 1 Jul 2004 13:04:45 -0700, ericgolson(at)gmail(dot)com (Eric Olson) wrote:

>my system is configured as follows:
>Red Hat 8, postgreSQL 7.4.3, psqlodbc-07.03.0200, and unixODBC-2.2.9.
>
>I have been trying to get the following very simple code snippet
>working but it always seg faults after connecting to the db....it
>connects then if I try to execute a sql statement it seg faults or in
>the below example just freeing the DBC handle will cause a seg
>fault...am I missing something?? with the v2 calls to alloc handle and
>free handle EVERYTHING works fine...I'm thinking maybe I didn't
>configure something properly to use ODBCv3?:
>
>#include "sql.h"
>#include "sqlext.h"
>#include "stdio.h"
>int main () {
>
> SQLHENV env;
> SQLHDBC dbc;
> SQLAllocHandle (SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env);
>
> fprintf (stderr, "Allocated ENV\n");
>
> SQLAllocHandle( SQL_HANDLE_DBC, env, &dbc );
> fprintf (stderr, "Allocated DBC\n");
>
> SQLConnect( dbc,
> (SQLCHAR*) "erictest", SQL_NTS,
> (SQLCHAR* ) "olsoneg", SQL_NTS,
> (SQLCHAR*) NULL, SQL_NTS );
>
> fprintf (stderr, "Connected\n");
>
>
> SQLDisconnect( dbc );
>
> SQLFreeHandle (SQL_HANDLE_DBC, dbc);
>
> SQLFreeHandle (SQL_HANDLE_ENV, env);
>
>}
>
>
>However if I substitute with the V2 ODBC functions like that follows
>then everything works:
>#include "sql.h"
>#include "sqlext.h"
>#include "stdio.h"
>int main () {
>
> SQLHENV env;
> SQLHDBC dbc;
> SQLAllocEnv (&env);
>
> fprintf (stderr, "Allocated ENV\n");
>
> SQLAllocConnect (env, &dbc);
> fprintf (stderr, "Allocated DBC\n");
>
> SQLConnect( dbc,
> (SQLCHAR*) "erictest", SQL_NTS,
> (SQLCHAR* ) "olsoneg", SQL_NTS,
> (SQLCHAR*) NULL, SQL_NTS );
>
> fprintf (stderr, "Connected\n");
>
> SQLDisconnect( dbc );
>
> SQLFreeConnect (dbc);
>
> SQLFreeEnv (env);
>
>}
>
>
>Any help on why the V2 calls work but the V3 don't would be GREATLY
>appreciated...

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message James Chin 2004-07-02 21:18:55 Re: ODBCv3 help...
Previous Message Daniel Baktiar 2004-07-02 16:26:38 hi there