Re: figuring out why I am having this issue

From: "Joel Fradkin" <jfradkin(at)wazagua(dot)com>
To: "'Dave Page'" <dpage(at)vale-housing(dot)co(dot)uk>
Cc: <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: figuring out why I am having this issue
Date: 2005-09-01 16:34:00
Message-ID: 000001c5af12$f5baf670$797ba8c0@jfradkin
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

So I am not even using libpq (figures).
Seemed to be working ok until this issue with the data.
I do not have control over what they store, I can modify single quotes to ''
and such.

I am using .net project where would I define USE_LIBPQ?

Joel Fradkin

-----Original Message-----
From: Dave Page [mailto:dpage(at)vale-housing(dot)co(dot)uk]
Sent: Thursday, September 01, 2005 12:14 PM
To: Joel Fradkin
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: RE: [ODBC] figuring out why I am having this issue

> -----Original Message-----
> From: Joel Fradkin [mailto:jfradkin(at)wazagua(dot)com]
> Sent: 01 September 2005 16:16
> To: Dave Page
> Cc: pgsql-odbc(at)postgresql(dot)org
> Subject: RE: [ODBC] figuring out why I am having this issue
>
> That is the error description
> If con.Errors.Count >= 1 Then
> set Error = con.Errors.Item(0)
> 'take the error code from SQL Server
> ErrCode = Error.NativeError
> response.Write(cstr(Error.Description))
> Response.End
> End If
>
> Could be there is better method, but this what I have been using.

Dunno if there's a better method - I would be inclined to loop round
con.Errors.Count though - maybe something like:

For X = 1 To con.Errors.Count
set Error = con.Errors.Item(X - 1)
'take the error code from SQL Server
ErrCode = Error.NativeError
response.Write(cstr(Error.Description))
End If
Response.End

> I have tested putting a 300 meg text field in the data base
> nad it worked so
> not clear why it works on most data and this one does not.
> I did email you the log file (not sure it is any help).

Yeah, I can't see anything obviously wrong in it. A few things to
consider though:

- ASP seems to be retrieving data as SQL_C_CHAR, which means it's
getting raw data, not UCS2 converted from UTF8.

- ASP is retrieving data in 32KB chunks, so it would probably be worth
making sure max_long_varchar is at least that.

- Some data (quotes and such) doesn't look so good. Could it have been
pasted from MS Word or similar?

- Are you compiling the driver yourself? If so how? It seems to be using
the old comms layer, not libpq (which I'm no longer working on). The
giveaway is lines like the following which are for debugging the network
protocol:

connecting to the server socket...
connection to the server socket succeeded.
sizeof startup packet = 292
sent the authentication block.
sent the authentication block successfully.
gonna do authentication
read 15, global_socket_buffersize=8192
auth got 'R'
areq = 0
auth got 'K'
auth got 'Z'

All this is now encapsulated in libpq, which doesn't log what it's
doing.

To fix this, compile on the command line:

nmake /f win32.mak

This should ensure you get the default libpq build. If you're doing this
in an IDE, make sure USE_LIBPQ is defined!

Regards, Dave.

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Joel Fradkin 2005-09-01 16:35:58 Re: figuring out why I am having this issue
Previous Message Dave Page 2005-09-01 16:13:48 Re: figuring out why I am having this issue