Página 1 de 1

Error al ejecutar una consulta (Perl y MS Access)

NotaPublicado: 2008-07-03 14:22 @640
por JROSS
Saludos todos, ¿serían tan amables de ayudarme con lo siguiente?

Estoy tratando de ejecutar una consulta hacia una base de datos en MS Access,

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $sth = $dbh->prepare("SELECT name FROM TRENDDATA WHERE TID_=169  and DATA_VALUE_= 800");
 
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

pero me sale un error:

Código: Seleccionar todo
DBD::ODBC::st execute failed: [Microsoft][Controlador ODBC Microsoft Access] No
coinciden los tipos de datos en la expresi¾n de criterios. (SQL-22018) at C:\Perl\bin\ACBDMY~2.PL line 49.


Pero si cambio el query por "select * from trenddata", me la ejecuta sin ningún problema, al parecer no soporta el tipo de consulta que quiero.

NotaPublicado: 2008-07-03 14:31 @646
por explorer
Bienvenido a los foros de Perl en Español, JROSS.

¿Seguro que la consulta está bien?

Prueba con esto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $sth = $dbh->prepare("SELECT name FROM TRENDDATA WHERE TID_='?' and DATA_VALUE_='?'");
$sth->exec(169,800);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2008-07-03 14:58 @665
por JROSS
Sí, en efecto, la estructura de la query está bien, el error se debía en efecto a un campo de la BD está en integer y otro en varchar; yo suponía que ambos campos estaban en integer.

Quedo así...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
 my $sth = $dbh->prepare("SELECT TID_,DATA_VALUE_ FROM TRENDDATA where TID_ = 169 and data_value_= '832.0' ");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¡¡¡Es lo malo de usar bases de datos diseñados por terceras personas!!!

¡¡¡Gracias!!!