ODBC - Getting CONN ERROR: errmsg='The buffer was too small for the InfoValue'
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.
- The application send the connect command and receive error "IM001"as a
response.
- The ODBC interface test shows "connection successful".
- The log tell us that the connection to the database was effectively
completed by the driver.
- All versions of the odbc driver and database are reported in the logs.
- The connection string and the used parameters etc are fully documented in
the logs.
- I've tried many basic stuff like upgrade/downgrade versions of the driver
and database without success.
- The powerbuilder version is an old 32 bit 6.5
Can anyone help me?
L O G S:
*psqlodbc.log error message in red*
*============*
[0.022]conn=005EF438, PGAPI_DriverConnect( in)='DRIVER={PostgreSQL
Unicode};Server=localhost;Port=5432;Database=onbpdc;Username=dba;Password=sql;',
fDriverCompletion=1
[0.047]Driver Version='09.05.0300,Jun 17 2016' linking 1800 dynamic
Multithread library
[0.049]Global Options: fetch=100, unknown_sizes=0, max_varchar_size=255,
max_longvarchar_size=8190
[0.051] unique_index=1, use_declarefetch=0
[0.052] text_as_longvarchar=1, unknowns_as_longvarchar=0,
bools_as_char=1 NAMEDATALEN=64
[0.053] extra_systable_prefixes='dd_',
conn_settings='(null)' conn_encoding=''
[0.157]conn=005EF438, query='SET DateStyle = 'ISO''
[0.172]conn=005EF438, query='SET extra_float_digits = 2'
[0.183]conn=005EF438, query='select oid, typbasetype from pg_type where
typname = 'lo''
[0.193] [ Large Object oid = -999 ]
[0.194] [ Client encoding = 'UTF8' (code = 6) ]
[0.200]conn=005EF438, PGAPI_DriverConnect(out)='DRIVER={PostgreSQL
Unicode};DATABASE=onbpdc;SERVER=localhost;PORT=5432;UID=dba;PWD=sql;SSLmode=disable;ReadOnly=0;Protocol=7.4;FakeOidIndex=0;ShowOidColumn=0;RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;UnknownSizes=0;MaxVarcharSize=255;MaxLongVarcharSize=8190;Debug=1;CommLog=1;UseDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVarchar=0;BoolsAsChar=1;Parse=0;ExtraSysTablePrefixes=dd_;LFConversion=1;UpdatableCursors=1;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=0;UseServerSidePrepare=1;LowerCaseIdentifier=0;GssAuthUseGSS=0;XaOpt=1'
*[0.214]CONN ERROR: func=PGAPI_GetInfo, desc='', errnum=-2, errmsg='The
buffer was too small for the InfoValue.'*
[0.217]
------------------------------------------------------------
[0.217] henv=005E5770, conn=005EF438, status=1, num_stmts=16
[0.218] pqconn=005ECA80, stmts=005E6C70, lobj_type=-999
[0.231]conn=005EF438, query='show max_identifier_length'
[0.268]conn=005EF438, PGAPI_Disconnect
*Mylog error message in red*
*=====*
[21184-0.000]ci=00000000 globals.extra_systable_prefixes = 'dd_'
[21184-0.002]exe name=onibus plaformId=2
[21184-0.004][[SQLAllocHandle]][21184-0.005]**** in PGAPI_AllocEnv **
[21184-0.006]** exit PGAPI_AllocEnv: phenv = 005E5770 **
[21184-0.007][[SQLSetEnvAttr]] att=200,2
[21184-0.008][[SQLAllocHandle]][21184-0.009]PGAPI_AllocConnect: entering...
[21184-0.010]**** PGAPI_AllocConnect: henv = 005E5770, conn = 005EF438
[21184-0.012]EN_add_connection: self = 005E5770, conn = 005EF438
[21184-0.014] added at 0, conn->henv = 005E5770, conns[0]->henv =
005E5770
[21184-0.015][SQLGetInfoW][21184-0.016]PGAPI_GetInfo:
entering...fInfoType=77
[21184-0.018]PGAPI_GetInfo: p='03.51', len=0, value=0, cbMax=12
[21184-0.019][SQLDriverConnectW][21184-0.019]PGAPI_DriverConnect:
entering...
[21184-0.019]**** PGAPI_DriverConnect: fDriverCompletion=1,
connStrIn='DRIVER={PostgreSQL
Unicode};Server=localhost;Port=5432;Database=onbpdc;Username=dba;Password=sql;'
[21184-0.025]CC_conninfo_init opt=2
[21184-0.025]copy_globals driver=PostgreSQL Unicode
[21184-0.026]our_connect_string = 'DRIVER={PostgreSQL
Unicode};Server=localhost;Port=5432;Database=onbpdc;Username=dba;Password=sql;'
[21184-0.027]attribute = 'DRIVER', value = '{PostgreSQL Unicode}'
[21184-0.028]copyAttributes:
DSN='',server='',dbase='',user='',passwd='',port='',onlyread='',conn_settings='(null)')
[21184-0.029]attribute = 'Server', value = 'localhost'
[21184-0.029]copyAttributes:
DSN='',server='localhost',dbase='',user='',passwd='',port='',onlyread='',conn_settings='(null)')
[21184-0.030]attribute = 'Port', value = '5432'
[21184-0.030]copyAttributes:
DSN='',server='localhost',dbase='',user='',passwd='',port='5432',onlyread='',conn_settings='(null)')
[21184-0.031]attribute = 'Database', value = 'onbpdc'
[21184-0.032]copyAttributes:
DSN='',server='localhost',dbase='onbpdc',user='',passwd='',port='5432',onlyread='',conn_settings='(null)')
[21184-0.033]attribute = 'Username', value = 'dba'
[21184-0.033]copyAttributes:
DSN='',server='localhost',dbase='onbpdc',user='dba',passwd='',port='5432',onlyread='',conn_settings='(null)')
[21184-0.035]attribute = 'Password', value = 'sql'
[21184-0.035]copyAttributes:
DSN='',server='localhost',dbase='onbpdc',user='dba',passwd='xxxxx',port='5432',onlyread='',conn_settings='(null)')
[21184-0.036]getDSNinfo: DSN= overwrite=0
[21184-0.036]our_connect_string = 'DRIVER={PostgreSQL
Unicode};Server=localhost;Port=5432;Database=onbpdc;Username=dba;Password=sql;'
[21184-0.038]attribute = 'DRIVER', value = '{PostgreSQL Unicode}'
[21184-0.038]copyCommonAttributes:
A7=100;A9=0;B0=255;B1=8190;B2=1;B3=1;B6=0;B7=1;B8=0;B9=1;C0=0;C2=dd_[21184-0.039]attribute
= 'Server', value = 'localhost'
[21184-0.040]copyCommonAttributes:
A7=100;A9=0;B0=255;B1=8190;B2=1;B3=1;B6=0;B7=1;B8=0;B9=1;C0=0;C2=dd_[21184-0.041]attribute
= 'Port', value = '5432'
[21184-0.041]copyCommonAttributes:
A7=100;A9=0;B0=255;B1=8190;B2=1;B3=1;B6=0;B7=1;B8=0;B9=1;C0=0;C2=dd_[21184-0.042]attribute
= 'Database', value = 'onbpdc'
[21184-0.043]copyCommonAttributes:
A7=100;A9=0;B0=255;B1=8190;B2=1;B3=1;B6=0;B7=1;B8=0;B9=1;C0=0;C2=dd_[21184-0.043]attribute
= 'Username', value = 'dba'
[21184-0.044]copyCommonAttributes:
A7=100;A9=0;B0=255;B1=8190;B2=1;B3=1;B6=0;B7=1;B8=0;B9=1;C0=0;C2=dd_[21184-0.045]attribute
= 'Password', value = 'sql'
[21184-0.045]copyCommonAttributes:
A7=100;A9=0;B0=255;B1=8190;B2=1;B3=1;B6=0;B7=1;B8=0;B9=1;C0=0;C2=dd_[21184-0.046]calling
getDSNdefaults
[21184-0.046]CC_connect: entering...
[21184-0.046]sslmode=disable
[21184-0.047]LIBPQ_CC_connect: entering...
[21184-0.048]Driver Version='09.05.0300,Jun 17 2016' linking 1800 dynamic
Multithread library
[21184-0.055]LIBPQ_CC_connect: DSN = '', server = 'localhost', port =
'5432', database = 'onbpdc', username = 'dba', password='xxxxx'
[21184-0.056]connecting to the database using localhost as the server
[21184-0.147]libpq connection to the database established.
[21184-0.147]protocol=3
[21184-0.147]Server version=9.5.13
[21184-0.148]LIBPQ_connect: retuning 1
[21184-0.148]CC_send_settings: entering...
[21184-0.148]PGAPI_AllocStmt: entering...
[21184-0.149]**** PGAPI_AllocStmt: hdbc = 005EF438, stmt = 005FDC30
[21184-0.149]CC_add_statement: self=005EF438, stmt=005FDC30
[21184-0.150]PGAPI_ExecDirect: entering...0
[21184-0.150]SC_recycle_statement: self= 005FDC30
[21184-0.150]**** PGAPI_ExecDirect: hstmt=005FDC30, statement='SET
DateStyle = 'ISO''
[21184-0.151]PGAPI_ExecDirect: calling PGAPI_Execute...
[21184-0.152]PGAPI_Execute: entering...0
[21184-0.152]PGAPI_Execute: clear errors...
[21184-0.152]PGAPI_NumParams: entering...
[21184-0.153]SC_scanQueryAndCountParams: entering...
[21184-0.153]prepareParameters was not called, prepare state:8
[21184-0.154]SC_recycle_statement: self= 005FDC30
[21184-0.154]Exec_with_parameters_resolved: copying statement params:
trans_status=1, len=21, stmt='SET DateStyle = 'ISO''
[21184-0.155] stmt_with_params = 'SET DateStyle = 'ISO''
[21184-0.155]about to begin SC_execute
[21184-0.156] it's NOT a select statement: stmt=005FDC30
[21184-0.156]CC_send_query: conn=005EF438, query='SET DateStyle = 'ISO''
[21184-0.157]in QR_Constructor
[21184-0.158]exit QR_Constructor
[21184-0.158]send_query: ok - 'C' - SET
[21184-0.158]send_query: setting cmdbuffer = 'SET'
[21184-0.159]send_query: returning res = 005EC748
[21184-0.159]SC_set_Result(5fdc30, 5ec748)[21184-0.160]QResult: enter
DESTRUCTOR
[21184-0.160]retval=0
[21184-0.160]PGAPI_ExecDirect: returned 0 from PGAPI_Execute
[21184-0.161]CC_send_settings: result 0, status 1 from 'SET DateStyle =
'ISO''
[21184-0.161]PGAPI_ExecDirect: entering...0
[21184-0.162]SC_recycle_statement: self= 005FDC30
[21184-0.162]SC_set_Result(5fdc30, 0)[21184-0.162]QResult: enter DESTRUCTOR
[21184-0.163]QResult: in QR_close_result
[21184-0.163]QResult: free memory in, fcount=0
[21184-0.163]QResult: free memory out
[21184-0.164]QResult: exit close_result
[21184-0.164]QResult: exit DESTRUCTOR
[21184-0.164]PDATA_free_params: ENTER, self=005FDDFC
[21184-0.165]**** PGAPI_ExecDirect: hstmt=005FDC30, statement='SET
extra_float_digits = 2'
[21184-0.166]PGAPI_ExecDirect: calling PGAPI_Execute...
[21184-0.166]PGAPI_Execute: entering...0
[21184-0.167]PGAPI_Execute: clear errors...
[21184-0.167]PGAPI_NumParams: entering...
[21184-0.168]SC_scanQueryAndCountParams: entering...
[21184-0.168]prepareParameters was not called, prepare state:8
[21184-0.169]SC_recycle_statement: self= 005FDC30
[21184-0.169]PDATA_free_params: ENTER, self=005FDDFC
[21184-0.169]Exec_with_parameters_resolved: copying statement params:
trans_status=1, len=26, stmt='SET extra_float_digits = 2'
[21184-0.170] stmt_with_params = 'SET extra_float_digits = 2'
[21184-0.171]about to begin SC_execute
[21184-0.171] it's NOT a select statement: stmt=005FDC30
[21184-0.172]CC_send_query: conn=005EF438, query='SET extra_float_digits =
2'
[21184-0.172]in QR_Constructor
[21184-0.173]exit QR_Constructor
[21184-0.173]send_query: ok - 'C' - SET
[21184-0.174]send_query: setting cmdbuffer = 'SET'
[21184-0.174]send_query: returning res = 005EC748
[21184-0.174]SC_set_Result(5fdc30, 5ec748)[21184-0.175]QResult: enter
DESTRUCTOR
[21184-0.175]retval=0
[21184-0.175]PGAPI_ExecDirect: returned 0 from PGAPI_Execute
[21184-0.176]CC_send_settings: result 0, status 1 from 'SET
extra_float_digits = 2'
[21184-0.177]PGAPI_FreeStmt: entering...hstmt=005FDC30, fOption=1
[21184-0.177]QResult: enter DESTRUCTOR
[21184-0.177]QResult: in QR_close_result
[21184-0.178]QResult: free memory in, fcount=0
[21184-0.178]QResult: free memory out
[21184-0.178]QResult: exit close_result
[21184-0.179]QResult: exit DESTRUCTOR
[21184-0.179]SC_init_Result(5fdc30)[21184-0.179]SC_Destructor:
self=005FDC30, self->result=00000000, self->hdbc=005EF438
[21184-0.180]APD_free_params: ENTER, self=005FDD40
[21184-0.180]IPD_free_params: ENTER, self=005FDD80
[21184-0.181]PDATA_free_params: ENTER, self=005FDDFC
[21184-0.181]SC_Destructor: EXIT
[21184-0.182]CC_send_settings: entering...
[21184-0.182]CC_send_settings: entering...
[21184-0.182]CC_lookup_lo: entering...
[21184-0.183]CC_send_query: conn=005EF438, query='select oid, typbasetype
from pg_type where typname = 'lo''
[21184-0.184]in QR_Constructor
[21184-0.185]exit QR_Constructor
[21184-0.186]num_fields = 2
[21184-0.187]in QR_set_num_fields
[21184-0.187]exit QR_set_num_fields
[21184-0.187]QR_from_PGResult: fieldname='oid', adtid=26, adtsize=4,
atttypmod=-1 (rel,att)=(1247,-2)
[21184-0.188]QR_from_PGResult: fieldname='typbasetype', adtid=26,
adtsize=4, atttypmod=-1 (rel,att)=(1247,24)
[21184-0.189]QResult: enter DESTRUCTOR
[21184-0.190]QResult: in QR_close_result
[21184-0.190]QResult: free memory in, fcount=0
[21184-0.191]QResult: free memory out
[21184-0.191]QResult: exit close_result
[21184-0.192]QResult: exit DESTRUCTOR
[21184-0.192]Got the large object oid: -999
[21184-0.193]CC_lookup_characterset: entering...
[21184-0.194]conn->unicode=1
[21184-0.195]CC_connect: returning...1
[21184-0.195]szConnStrOut = 'DRIVER={PostgreSQL
Unicode};DATABASE=onbpdc;SERVER=localhost;PORT=5432;UID=dba;PWD=sql;SSLmode=disable;ReadOnly=0;Protocol=7.4;FakeOidIndex=0;ShowOidColumn=0;RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;UnknownSizes=0;MaxVarcharSize=255;MaxLongVarcharSize=8190;Debug=1;CommLog=1;UseDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVarchar=0;BoolsAsChar=1;Parse=0;ExtraSysTablePrefixes=dd_;LFConversion=1;UpdatableCursors=1;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=0;UseServerSidePrepare=1;LowerCaseIdentifier=0;GssAuthUseGSS=0;XaOpt=1'
len=548,1536
[21184-0.205]PGAPI_DriverConnect: returning 0
[21184-0.205][SQLGetDiagRecW][21184-0.205]PGAPI_GetDiagRec entering type=2
rec=1
[21184-0.206]**** PGAPI_ConnectError: hdbc=005EF438 <0>
[21184-0.206]enter CC_get_error
[21184-0.207]exit CC_get_error
[21184-0.207]CC_Get_error returned nothing.
[21184-0.208]PGAPI_GetDiagRec exiting 100
[21184-0.208][SQLGetFunctions][21184-0.208]PGAPI_GetFunctions: entering...0
[21184-0.209][SQLGetInfoW][21184-0.209]PGAPI_GetInfo:
entering...fInfoType=23
[21184-0.210]PGAPI_GetInfo: p='<NULL>', len=2, value=2, cbMax=2
[21184-0.210][SQLGetInfoW][21184-0.211]PGAPI_GetInfo:
entering...fInfoType=24
[21184-0.211]PGAPI_GetInfo: p='<NULL>', len=2, value=2, cbMax=2
[21184-0.212][SQLGetInfoW][21184-0.212]PGAPI_GetInfo: entering...fInfoType=6
[21184-0.213]PGAPI_GetInfo: p='PSQLODBC35W.DLL', len=0, value=0, cbMax=6
[21184-0.214]CC_error_statements: self=005EF438
*[21184-0.215]CONN ERROR: func=PGAPI_GetInfo, desc='', errnum=-2,
errmsg='The buffer was too small for the InfoValue.'*
[21184-0.218][SQLGetInfoW][21184-0.219]PGAPI_GetInfo: entering...fInfoType=2
[21184-0.219]PGAPI_GetInfo: p='', len=0, value=0, cbMax=512
[21184-0.220][SQLGetInfoW][21184-0.220]PGAPI_GetInfo:
entering...fInfoType=17
[21184-0.220]PGAPI_GetInfo: p='PostgreSQL', len=0, value=0, cbMax=512
[21184-0.221][SQLGetInfoW][21184-0.221]PGAPI_GetInfo: entering...fInfoType=6
[21184-0.221]PGAPI_GetInfo: p='PSQLODBC35W.DLL', len=0, value=0, cbMax=490
[21184-0.222][SQLGetInfoW][21184-0.222]PGAPI_GetInfo:
entering...fInfoType=16
[21184-0.225]PGAPI_GetInfo: p='onbpdc', len=0, value=0, cbMax=512
[21184-0.226][SQLGetInfoW][21184-0.226]PGAPI_GetInfo:
entering...fInfoType=25
[21184-0.227]PGAPI_GetInfo: p='N', len=0, value=0, cbMax=512
[21184-0.227][SQLGetInfoW][21184-0.227]PGAPI_GetInfo:
entering...fInfoType=13
[21184-0.228]PGAPI_GetInfo: p='localhost', len=0, value=0, cbMax=512
[21184-0.230][SQLGetInfoW][21184-0.230]PGAPI_GetInfo:
entering...fInfoType=32
[21184-0.231]CC_send_query: conn=005EF438, query='show
max_identifier_length'
[21184-0.232]in QR_Constructor
[21184-0.232]exit QR_Constructor
[21184-0.233]num_fields = 1
[21184-0.233]in QR_set_num_fields
[21184-0.233]exit QR_set_num_fields
[21184-0.234]QR_from_PGResult: fieldname='max_identifier_length', adtid=25,
adtsize=-1, atttypmod=-1 (rel,att)=(0,0)
[21184-0.234]REALLOC: old_count = 0, size = 0
[21184-0.234]qresult: len=2, buffer='63'
[21184-0.235]QResult: enter DESTRUCTOR
[21184-0.235]QResult: in QR_close_result
[21184-0.235]QResult: free memory in, fcount=1
[21184-0.236]QResult: free memory out
[21184-0.236]QResult: exit close_result
[21184-0.236]QResult: exit DESTRUCTOR
[21184-0.237]max_identifier_length=63
[21184-0.237]PGAPI_GetInfo: p='<NULL>', len=2, value=63, cbMax=2
[21184-0.237][SQLGetInfoW][21184-0.238]PGAPI_GetInfo:
entering...fInfoType=35
[21184-0.238]max_identifier_length=63
[21184-0.238]PGAPI_GetInfo: p='<NULL>', len=2, value=63, cbMax=2
[21184-0.241][SQLGetInfoW][21184-0.241]PGAPI_GetInfo:
entering...fInfoType=93
[21184-0.242]PGAPI_GetInfo: p='<NULL>', len=2, value=3, cbMax=2
[21184-0.242][SQLGetInfoW][21184-0.242]PGAPI_GetInfo: entering...fInfoType=9
[21184-0.243]PGAPI_GetInfo: p='<NULL>', len=2, value=1, cbMax=2
[21184-0.243][SQLGetInfoW][21184-0.244]PGAPI_GetInfo:
entering...fInfoType=15
[21184-0.244]PGAPI_GetInfo: p='<NULL>', len=2, value=1, cbMax=2
[21184-0.245][SQLGetInfoW][21184-0.245]PGAPI_GetInfo:
entering...fInfoType=46
[21184-0.245]PGAPI_GetInfo: p='<NULL>', len=2, value=2, cbMax=2
[21184-0.246][SQLGetInfoW][21184-0.246]PGAPI_GetInfo: entering...fInfoType=8
[21184-0.246]PGAPI_GetInfo: p='<NULL>', len=4, value=191, cbMax=4
[21184-0.247][SQLGetInfoW][21184-0.247]PGAPI_GetInfo:
entering...fInfoType=43
[21184-0.247]PGAPI_GetInfo: p='<NULL>', len=4, value=5, cbMax=4
[21184-0.248][SQLGetInfoW][21184-0.248]PGAPI_GetInfo:
entering...fInfoType=44
[21184-0.249]PGAPI_GetInfo: p='<NULL>', len=4, value=19, cbMax=4
[21184-0.250][SQLGetInfoW][21184-0.250]PGAPI_GetInfo:
entering...fInfoType=14
[21184-0.250]PGAPI_GetInfo: p='\', len=0, value=0, cbMax=512
[21184-0.262][SQLGetInfoW][21184-0.262]PGAPI_GetInfo:
entering...fInfoType=94
[21184-0.263]PGAPI_GetInfo: p='_', len=0, value=0, cbMax=512
[21184-0.267][SQLDisconnect for 005EF438][21184-0.268]PGAPI_Disconnect:
entering...
[21184-0.268]PGAPI_Disconnect: about to CC_cleanup
[21184-0.269]in CC_Cleanup, self=005EF438
[21184-0.269]after PQfinish
[21184-0.270]CC_conninfo_init opt=1
[21184-0.270]exit CC_Cleanup
[21184-0.270]PGAPI_Disconnect: done CC_cleanup
[21184-0.271]PGAPI_Disconnect: returning...
[21184-0.271][[SQLFreeHandle]][21184-0.271]PGAPI_FreeConnect: entering...
[21184-0.272]**** in PGAPI_FreeConnect: hdbc=005EF438
[21184-0.272]enter CC_Destructor, self=005EF438
[21184-0.272]in CC_Cleanup, self=005EF438
[21184-0.273]after PQfinish
[21184-0.273]CC_conninfo_init opt=1
[21184-0.273]exit CC_Cleanup
[21184-0.274]after CC_Cleanup
[21184-0.274]after free statement holders
[21184-0.274]exit CC_Destructor
[21184-0.275]PGAPI_FreeConnect: returning...
[21184-0.275][[SQLFreeHandle]][21184-0.275]**** in PGAPI_FreeEnv: env =
005E5770 **
[21184-0.276]in EN_Destructor, self=005E5770
[21184-0.276]clearing conns count=128
[21184-0.276]exit EN_Destructor: rv = 1
[21184-0.277] ok
[21184-0.277]DETACHING PROCESS
--
Edgard Battisti Guimarães
,Hi,
On Wed, Jul 11, 2018 at 10:33 PM, Edgard Battisti Guimarães
<edgardbg1@gmail.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?
Thank you.
Show quoted text
--
Edgard Battisti Guimarães
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@gmail.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.klaver@aklaver.com
--- 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.klaver@aklaver.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@gmail.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 ofthem
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.klaver@aklaver.com
--
Edgard Battisti Guimarães
On 07/12/2018 04:56 PM, Edgard Battisti Guimarães wrote:
--- 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 driverusedin all caseswas 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 BDSQLSTATE = IM001
[Microsoft]ODBC Driver Manager] Driver does not support this function
======================================================
My suggestion at this point would be to ask for advice on the -odbc list:
https://www.postgresql.org/list/pgsql-odbc/
The PB script:
===========
string s, s1, aux, aux1
int qtc1, qtc2, retornoprofiles, atudbparms
string chlic, chcalc, testa_nr_carros
date dataref
int is = "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 ifThe ONIBUS.INI parameters file
=========================
[sqlca]
dbms=ODBC
DbParm=ConnectString='Driver={Postgresql
Unicode};Server=localhost;Port=5432;Database=onbpdc;Uid=dba;Pwd=sql';
==============================================
--
Adrian Klaver
adrian.klaver@aklaver.com
Ok, Done!
thanks for you help
Em sex, 13 de jul de 2018 às 10:29, Adrian Klaver <adrian.klaver@aklaver.com>
escreveu:
On 07/12/2018 04:56 PM, Edgard Battisti Guimarães wrote:
--- 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 driverusedin all caseswas 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 BDSQLSTATE = IM001
[Microsoft]ODBC Driver Manager] Driver does not support this function
======================================================My suggestion at this point would be to ask for advice on the -odbc list:
https://www.postgresql.org/list/pgsql-odbc/
The PB script:
===========
string s, s1, aux, aux1
int qtc1, qtc2, retornoprofiles, atudbparms
string chlic, chcalc, testa_nr_carros
date dataref
int is = "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 ifThe ONIBUS.INI parameters file
=========================
[sqlca]
dbms=ODBC
DbParm=ConnectString='Driver={Postgresql
Unicode};Server=localhost;Port=5432;Database=onbpdc;Uid=dba;Pwd=sql';
==============================================--
Adrian Klaver
adrian.klaver@aklaver.com
--
Edgard Battisti Guimarães