Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

162
Visualizações
No recordset is returned if one of the column has data more than 1024 characters Mysql 8.0 and Classic ASP

I am using 32 bit MySQL ODBC connector 8.19 with Classic asp MYSQL server is 8. CHARACTER is latin1 and COLLATE is latin1_swedish_ci Connection string has OPTION=3 Storage Engine is InnoDB

Following is the table structure

CREATE TABLE Data_temp
(
ROWGUID varchar(36) default (UUID()) NOT NULL ,
col_desc varchar(10) NOT NULL ,
History varchar (4000),
PRIMARY KEY Data_temp_P_KEY(ROWGUID)
) ;

Using Adodb command run following query

Select * from Data_temp WHERE col_desc=?

and parameter is supplied by adodb create parameter.

The result is returned in adodb recordset as

set recordset=command.execute method

recordset is not returned if History column has data more than 1024 characters

If Same query is run in following scenarios as ,

  1. Select col_desc,Rowguid 
    from Data_temp 
    WHERE col_desc=? 
    

    i.e. column list do not contain that large data column then recordset is returned

  2. Select col_desc,Rowguid,substring(history,1,1024) 
    from Data_temp 
    WHERE col_desc=? 
    

    also works.

  3. By making column as TEXT data type instead of varchar

What could be the reason?

Is there any limit on returning the column data? One more observation instead of using parameterised query if query is run directly with value in query itself

Select * from Data_temp WHERE Col_Desc='aa' 

without parameter then recordset is returned

Thanks in advance

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Take a look at these similar issues:

https://bugs.mysql.com/bug.php?id=92078
https://bugs.mysql.com/bug.php?id=93895
https://bugs.mysql.com/bug.php?id=94545

and the official recommendation:

Source: https://dev.mysql.com/doc/relnotes/connector-odbc/en/news-8-0-16.html

An exception was emitted when fetching contents of a BLOB/TEXT records after executing a statement as a server-side prepared statement with a bound parameter.

The workaround is not using parameters or specifying NO_SSPS=1 in the connection string; this allows the driver to fetch the data.

In Connector/ODBC 5.2 and after, by default, server-side prepared statements are used. When this option is set to a non-zero value, prepared statements are emulated on the client side, which is the same behavior as in 5.1 and 3.51. Added in 5.2.0.

The recommended workaround is to specify the NO_SSPS=1 in the connection string and I confirm that it works.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda