Re: Insert with bound columns - Mailing list pgsql-odbc

From Hiroshi Inoue
Subject Re: Insert with bound columns
Date
Msg-id 3E433368.FCE7D528@tpf.co.jp
Whole thread Raw
In response to Insert with bound columns  (Andreas Pflug <Andreas.Pflug@web.de>)
List pgsql-odbc
Andreas Pflug wrote:
>
> After experimenting heavily, I found out some more.
> MSDASQL doesn't like a NULL-pointer as string in the buffer to be
> written. Instead, a SysAllocString(L"") is needed. This is acceptable,
> if an zero length string should be inserted. If the status field of the
> buffer ist not set to DBSTATUS_S_OK indicating valid data to be written,
> but to DBSTATUS_S_ISNULL for a NULL to be inserted, MSDASQL will fail
> with "Parameter type cannot be determined for at leas one variant
> parameter". Actually, it's no variant given, but a DBTYPE_BSTR, and this
> information is put correctly into the DBBINDING structure. Still, I
> believe ADO users should be unable to insert a NULL string into a
> VARCHAR column (if not omitted in the query).

I can insert a '' or NULL using ADO.Parameter in VB.

> The same (OLEDB side) code works with SQLSRV32, and MSDASQL blows as
> soon as it gets to know the number of parameters, so it seems that for
> SQLSRV32 MSDASQL can determine the parameter type from the SQL server
> driver, but not with PostgreSQL.

The psqlodbc driver couldn't determine the parameter type
unless the upper application specifies it explicitly.

> Does this switch on a light for
> anybody, saying "ah now I know what SQLxxyy is for"? If pointed towards
> some topic, I could try to implement it.

Maybe SQLDescribeParam should be supported though I'm
not sure.

regards,
Hiroshi Inoue
    http://www.geocities.jp/inocchichichi/psqlodbc/

pgsql-odbc by date:

Previous
From: Andreas Pflug
Date:
Subject: Re: Insert with bound columns
Next
From: "Tambet Matiisen"
Date:
Subject: Re: Cannot insert into view without an appropriate rule (#7)