From: | Edgard Battisti Guimarães <edgardbg1(at)gmail(dot)com> |
---|---|
To: | adrian(dot)klaver(at)aklaver(dot)com |
Cc: | ikorot01(at)gmail(dot)com, pgsql-general(at)postgresql(dot)org |
Subject: | Re: ODBC - Getting CONN ERROR: errmsg='The buffer was too small for the InfoValue' |
Date: | 2018-07-12 23:56:42 |
Message-ID: | CAK+hLKSQmqJjrxRt2tXkFgPQiow-qB3w-nK+w7sD1a2WFoL56Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
--- The ODBC Global tracing was turned on too but any one entry was made
from the powerbuilder app.
--- No problem on sending the entire PB app, but it's really big, so
follows the initial script with the connect and the ini file content with
the parameters. I will make a minimalist PB script to help with the problem
isolation.
--- The ODBC driver used in all cases was the 32 bit .
--- The original computer where the program is working ok is a DELL laptop
inspiron 7548 core i5 8GB
--- The computer presenting the reported problem is a Lenovo Yoga laptop
720-121KB core i5 8GB
--- The locale: The original and third computer are the same - The OS local
is Portugues(Brasil), the language, date format, number format etc are the
same: DD/MM/YYYY. Numbers use comma as decimal point and dot as group
separator.
--- By running the script below, I receive a messagebox with the following
content:
======================================================
erro -1 na abertura do BD
SQLSTATE = IM001
[Microsoft]ODBC Driver Manager] Driver does not support this function
======================================================
The PB script:
===========
string s, s1, aux, aux1
int qtc1, qtc2, retornoprofiles, atudbparms
string chlic, chcalc, testa_nr_carros
date dataref
int i
s = "ONIBUS.INI"
sqlca.DBMS = ProfileString (s, "sqlca", "dbms", "")
sqlca.dbparm = ProfileString (s, "sqlca", "dbparm", "")
CONNECT using sqlca;
if sqlca.sqlcode <> 0 then
messagebox ("erro " + string(sqlca.sqlcode) + " na abertura do BD", &
sqlca.sqlerrtext)
if messagebox("ÔNIBUS","Se voce tem um Banco de Dados salvo~n"+&
"pode usar a opção Arquivo/Retornar BD.~n~n"+&
"Voce deseja prosseguir?",Question!, Yesno!) = 2 then
return
end if
end if
The ONIBUS.INI parameters file
=========================
[sqlca]
dbms=ODBC
DbParm=ConnectString='Driver={Postgresql
Unicode};Server=localhost;Port=5432;Database=onbpdc;Uid=dba;Pwd=sql';
==============================================
Em qui, 12 de jul de 2018 às 10:07, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
escreveu:
> On 07/12/2018 05:19 AM, Igor Korot wrote:
> > ,Hi,
> >
> > On Wed, Jul 11, 2018 at 10:33 PM, Edgard Battisti Guimarães
> > <edgardbg1(at)gmail(dot)com> wrote:
> >> I've ported a powerbuilder application to postgresql. Tested ok on
> windows
> >> 10 64, was installed on two win10-64 other computers, all connecting the
> >> postgresql database in the localhost with access via odbc. The third of
> them
> >> presented the error detailed below in the logs (mylog and psqlodbc)
> >> integrally copy and paste.
> >
> > Which database the application connecting to initially?
> > Can you show the PB script that connects to the DB?
> > Can you show the credentials you are trying to connect with?
> > Can you turn on ODBC logging and send the log with the failure?
>
> The above information is in the original post, with exception of PB script.
>
> Given that the PB app is 32 bit and the computers are 64 bit I am
> wondering if on the third computer the wrong ODBC driver is being used?
>
> Also what are the hardware specifications for the third computer
> relative to the other two?
>
> Lastly the error message shows up in the source code of info.c in the
> section for Unicode support:
>
> #ifdef UNICODE_SUPPORT
> if (CC_is_in_unicode_driver(conn))
> {
> len = utf8_to_ucs2(p, len, (SQLWCHAR *) rgbInfoValue,
> cbInfoValueMax / WCLEN);
> len *= WCLEN;
> }
> else
> #endif /* UNICODE_SUPPORT */
> strncpy_null((char *) rgbInfoValue, p, (size_t) cbInfoValueMax);
>
> if (len >= cbInfoValueMax)
> {
> result = SQL_SUCCESS_WITH_INFO;
> CC_set_error(conn, CONN_TRUNCATED, "The buffer was too
> small for the InfoValue.", func);
> }
> }
>
>
> So what is the locale for the third computer?
>
> >
> > Thank you.
> >
> >>
> >> --
> >> Edgard Battisti Guimarães
> >>
> >
> >
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>
--
Edgard Battisti Guimarães
From | Date | Subject | |
---|---|---|---|
Next Message | Igor Korot | 2018-07-13 01:19:12 | Re: How to watch for schema changes |
Previous Message | Rob Sargent | 2018-07-12 23:45:19 | Re: How to watch for schema changes |