psqlodbc - prepared statement crash

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

psqlodbc - prepared statement crash

Xuesong Gao

I am using MS ODBCTest tool for testing purpose here, and it crashed after I did following steps:

 

1.       Full connect to DSN.

2.       SQLPrepare: select city, ? as i from public.city where city = ?

3.       SQLBindParameter: number 1, value type SQL_C_CHAR, parameter type SQL_CHAR, value 1;

4.       SQLBindParameter: number 2, value type SQL_C_CHAR, parameter type SQL_CHAR, value Abha;

5.       SQLExecute

 

  • your ODBC driver version

Unicode x64, 9.06.05.00

  • your PostgreSQL database version

PostgreSQL 10, sample database dvdrental

  • any error messages you saw on the screen

messages in ODBCTest tool console:

            Full Connect(Default)

 

            Env. Attr. SQL_ATTR_ODBC_VERSION set to SQL_OV_ODBC3

 

            Successfully connected to DSN 'dvdrental'.

SQLPrepare:

                                                In:                                            StatementHandle = 0x00000000047221C0, StatementText = "select city, ? as i from public.city where city = ...", TextLength = 51

                                                Return:           SQL_SUCCESS=0

SQLBindParameter:

                                                In:                                            StatementHandle = 0x00000000047221C0, ParameterNumber = 1, InputOutputtype = SQL_PARAM_INPUT=1, ValueType = SQL_C_CHAR=1,

                                                                                                                        ParameterType = SQL_CHAR=1, ColumnSize = 0, DecimalDigits = 0, ParameterValuePtr = "1", BufferLength = 0, StrLen_or_IndPtr = SQL_NTS=-3, SQL_LEN_DATA_AT_EXEC = FALSE,

                                                                                                                        Buffer Size = 600

                                                Return:           SQL_SUCCESS=0

SQLBindParameter:

                                                In:                                            StatementHandle = 0x00000000047221C0, ParameterNumber = 2, InputOutputtype = SQL_PARAM_INPUT=1, ValueType = SQL_C_CHAR=1,

                                                                                                                        ParameterType = SQL_CHAR=1, ColumnSize = 0, DecimalDigits = 0, ParameterValuePtr = "Abha", BufferLength = 0, StrLen_or_IndPtr = SQL_NTS=-3, SQL_LEN_DATA_AT_EXEC = FALSE,

                                                                                                                        Buffer Size = 600

                                                Return:           SQL_SUCCESS=0

  • the debug log (mylog_????.log) file (you will have to enable the mylog driver option)

attached

 

 

<img width="110" height="105" id="_x0000_i1025" src="file:///C:\Users\Song\AppData\Roaming\Microsoft\Signatures\senturus-signature_files\senturus-logo-small.jpg">

Song  X. Gao
Solutions Architect

Email [hidden email]
Mobile 732 406 6347
senturus.com

 

 


mylog_odbct32w_7728.log (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: psqlodbc - prepared statement crash

Inoue, Hiroshi-2
Hi,

Sorry for the late reply.

You seem to turn on Mylog optipn of Global settings only.
Could you please turn on Mylog option of Advanced Options (DataSource) as well?

I have a question.
What does "city = ..."  of
    StatementText = "select city, ? as i from public.city where city = ...",
mean?

regards,
Hiroshi Inoue

On 2019/07/26 22:56, Xuesong Gao wrote:

I am using MS ODBCTest tool for testing purpose here, and it crashed after I did following steps:

 

1.       Full connect to DSN.

2.       SQLPrepare: select city, ? as i from public.city where city = ?

3.       SQLBindParameter: number 1, value type SQL_C_CHAR, parameter type SQL_CHAR, value 1;

4.       SQLBindParameter: number 2, value type SQL_C_CHAR, parameter type SQL_CHAR, value Abha;

5.       SQLExecute

 

  • your ODBC driver version

Unicode x64, 9.06.05.00

  • your PostgreSQL database version

PostgreSQL 10, sample database dvdrental

  • any error messages you saw on the screen

messages in ODBCTest tool console:

            Full Connect(Default)

 

            Env. Attr. SQL_ATTR_ODBC_VERSION set to SQL_OV_ODBC3

 

            Successfully connected to DSN 'dvdrental'.

SQLPrepare:

                                                In:                                            StatementHandle = 0x00000000047221C0, StatementText = "select city, ? as i from public.city where city = ...", TextLength = 51

                                                Return:           SQL_SUCCESS=0

SQLBindParameter:

                                                In:                                            StatementHandle = 0x00000000047221C0, ParameterNumber = 1, InputOutputtype = SQL_PARAM_INPUT=1, ValueType = SQL_C_CHAR=1,

                                                                                                                        ParameterType = SQL_CHAR=1, ColumnSize = 0, DecimalDigits = 0, ParameterValuePtr = "1", BufferLength = 0, StrLen_or_IndPtr = SQL_NTS=-3, SQL_LEN_DATA_AT_EXEC = FALSE,

                                                                                                                        Buffer Size = 600

                                                Return:           SQL_SUCCESS=0

SQLBindParameter:

                                                In:                                            StatementHandle = 0x00000000047221C0, ParameterNumber = 2, InputOutputtype = SQL_PARAM_INPUT=1, ValueType = SQL_C_CHAR=1,

                                                                                                                        ParameterType = SQL_CHAR=1, ColumnSize = 0, DecimalDigits = 0, ParameterValuePtr = "Abha", BufferLength = 0, StrLen_or_IndPtr = SQL_NTS=-3, SQL_LEN_DATA_AT_EXEC = FALSE,

                                                                                                                        Buffer Size = 600

                                                Return:           SQL_SUCCESS=0

  • the debug log (mylog_????.log) file (you will have to enable the mylog driver option)

attached

 

 

<img id="_x0000_i1025" src="file:///C:\Users\Song\AppData\Roaming\Microsoft\Signatures\senturus-signature_files\senturus-logo-small.jpg" moz-do-not-send="true" width="110" height="105">

Song  X. Gao
Solutions Architect

Email [hidden email]
Mobile 732 406 6347
senturus.com

 



ウイルス フリー。 www.avg.com
Reply | Threaded
Open this post in threaded view
|

RE: psqlodbc - prepared statement crash

Xuesong Gao

Hiroshi,

 

Thank you for looking into this issue.

 

I ran the same test case and new logs attached.

 

Dvdrental is a database I found online and imported into postgrsql 10.

 

Select city, ? as I from public.city where city.city = ?

 

Is the SQL I passed to SQLPrepare. Yes, city is a table and within city table there is a city column ;). Question marks (?) are parameters, I passed values via SQLBindParameter.

 

Thanks,

Song Gao

 

From: Inoue, Hiroshi [mailto:[hidden email]]
Sent: Wednesday, July 31, 2019 7:51 AM
To: Xuesong Gao <[hidden email]>
Cc: [hidden email]
Subject: Re: psqlodbc - prepared statement crash

 

Hi,

Sorry for the late reply.

You seem to turn on Mylog optipn of Global settings only.
Could you please turn on Mylog option of Advanced Options (DataSource) as well?

I have a question.
What does "city = ..."  of
    StatementText = "select city, ? as i from public.city where city = ...",
mean?

regards,
Hiroshi Inoue

On 2019/07/26 22:56, Xuesong Gao wrote:

I am using MS ODBCTest tool for testing purpose here, and it crashed after I did following steps:

 

1.       Full connect to DSN.

2.       SQLPrepare: select city, ? as i from public.city where city = ?

3.       SQLBindParameter: number 1, value type SQL_C_CHAR, parameter type SQL_CHAR, value 1;

4.       SQLBindParameter: number 2, value type SQL_C_CHAR, parameter type SQL_CHAR, value Abha;

5.       SQLExecute

 

  • your ODBC driver version

Unicode x64, 9.06.05.00

  • your PostgreSQL database version

PostgreSQL 10, sample database dvdrental

  • any error messages you saw on the screen

messages in ODBCTest tool console:

            Full Connect(Default)

 

            Env. Attr. SQL_ATTR_ODBC_VERSION set to SQL_OV_ODBC3

 

            Successfully connected to DSN 'dvdrental'.

SQLPrepare:

                                                In:                                            StatementHandle = 0x00000000047221C0, StatementText = "select city, ? as i from public.city where city = ...", TextLength = 51

                                                Return:           SQL_SUCCESS=0

SQLBindParameter:

                                                In:                                            StatementHandle = 0x00000000047221C0, ParameterNumber = 1, InputOutputtype = SQL_PARAM_INPUT=1, ValueType = SQL_C_CHAR=1,

                                                                                                                        ParameterType = SQL_CHAR=1, ColumnSize = 0, DecimalDigits = 0, ParameterValuePtr = "1", BufferLength = 0, StrLen_or_IndPtr = SQL_NTS=-3, SQL_LEN_DATA_AT_EXEC = FALSE,

                                                                                                                        Buffer Size = 600

                                                Return:           SQL_SUCCESS=0

SQLBindParameter:

                                                In:                                            StatementHandle = 0x00000000047221C0, ParameterNumber = 2, InputOutputtype = SQL_PARAM_INPUT=1, ValueType = SQL_C_CHAR=1,

                                                                                                                        ParameterType = SQL_CHAR=1, ColumnSize = 0, DecimalDigits = 0, ParameterValuePtr = "Abha", BufferLength = 0, StrLen_or_IndPtr = SQL_NTS=-3, SQL_LEN_DATA_AT_EXEC = FALSE,

                                                                                                                        Buffer Size = 600

                                                Return:           SQL_SUCCESS=0

  • the debug log (mylog_????.log) file (you will have to enable the mylog driver option)

attached

 

 

<img width="110" height="105" id="_x0000_i1025" src="file:///C:\Users\Song\AppData\Roaming\Microsoft\Signatures\senturus-signature_files\senturus-logo-small.jpg">

Song  X. Gao
Solutions Architect

Email [hidden email]
Mobile 732 406 6347
senturus.com


 

 

 

ウイルス フリー。 www.avg.com

 


psqlodbc_odbct32w_9376.log (818 bytes) Download Attachment
mylog_3868.log (170 bytes) Download Attachment
mylog_13160.log (170 bytes) Download Attachment
mylog_odbct32w_9376.log (20K) Download Attachment