• Publicidad

Acceso a base de datos Access

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Acceso a base de datos Access

Notapor glucas » 2005-10-03 06:44 @322

Buenos días, lo primero de todo deciros que hacia tiempo que no accedía a vuestra web y me gusta el 'cambio de look', es mas cómoda para consultar y bien clasificada.
A continuación, os comento mi cuestión por si me podéis ayudar como en otras ocasiones: Tengo que leer de una base de datos que esta en Access (que por cierto me esta volviendo loca, tiene 88 campos y cada uno me da un problema distinto casi), la pega que tengo es que tengo que leer un campo definido como MEMO en Access y me da un mensaje de error que dice

"error en la conexion DBD::ODBC::st fetchrow_array failed: [Microsoft][Controlador ODBC Microsoft Access]Cadena truncada por la derecha en la columna número 18 (EQUIPOS EXTRAS) (SQL-01004)(DBD: st_fetch/SQLFetch (long truncated DBI attribute LongTruncOk not set and/or LongReadLen too small) err=-1) at E:\..."

¿como podría recoger este campo con fetchrow_array si que saltara este error?
Os agradezco de antemano vuestra ayuda
glucas
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2004-12-02 05:39 @277
Ubicación: España

Publicidad

Notapor explorer39 » 2005-10-03 07:11 @341

explorer39
 

Re: ACCESO A BASE DATOS DE ACCESS

Notapor kidd » 2005-10-03 08:17 @386

glucas escribiste:"error en la conexion DBD::ODBC::st fetchrow_array failed: [Microsoft][Controlador ODBC Microsoft Access]Cadena truncada por la derecha en la columna número 18 (EQUIPOS EXTRAS) (SQL-01004)(DBD: st_fetch/SQLFetch (long truncated DBI attribute LongTruncOk not set and/or LongReadLen too small) err=-1) at E:\..."

¿como podria recoger este campo con fetchrow_array si que saltara este error?



Hola, nos serviria de mucho si nos pudieras proporcionar el código que estas usando, en especial en la parte donde tienes la falla.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor glucas » 2005-10-03 11:08 @506

El error me daba al hacer el fetchrow ( ($variable_memo_de_access) = $SQL1->fetchrow_array )).
He estado revisando el enlace que me proponía explorer39, donde habla del atributo LongReadLen del manipulador, y efectivamente consiguió leer los campos, Mi código queda así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
../..
$conn_db1 = DBI->connect($driver_db1, $p_user_db1, $p_password_db1,
                 {
                   PrintError => 0,
                   AutoCommit => 0,
                   RaiseError => 1,
                 });

         #PARA SOLUCIONAR CAMPOS MEM CON ATRIBUTO LONGREADLEN
         $conn_dbsys->{LongTruncOk} = 1;
         $conn_dbsys->{LongReadLen} = 250;

        $SQL1 = $conn_dbsys->prepare($statement1);
        $SQL1->execute();
        $variable_memo_de_access= $SQL1->fetchrow_array;
../..
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4



Intento marcar la longitud en 2000 como pone en el ejemplo que facilita la documentacion de la dbi pero me da un error que dice"DBD::ODBC::st execute failed: [Microsoft][Controlador ODBC Microsoft Access]Valor de precisión no válido (SQL-HY104)(DBD: _rebind_ph/SQLBindParameter err=-1) ".
Si he entendido bien el funcionamiento este atributo lo utilizo para controlar la longitud máxima que leo ¿significa que solo leeré 250 caracteres aunque en mi campo memo tenga más de esos 250? me interesa saber si he perdido información en esta lectura.
Gracias de nuevo y un saludo
glucas
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2004-12-02 05:39 @277
Ubicación: España

Notapor explorer39 » 2005-10-03 12:21 @556

Lee esta pregunta
Luego, prueba a quitar la línea
$conn_dbsys->{LongTruncOk} = 1;
explorer39
 

Re: Acceso a base de datos Access

Notapor zlatan24 » 2011-03-13 10:54 @496

glucas escribiste:Buenos días, lo primero de todo deciros que hacia tiempo que no accedía a vuestra web y me gusta el 'cambio de look', es mas cómoda para consultar y bien clasificada.
A continuación, os comento mi cuestión por si me podéis ayudar como en otras ocasiones: Tengo que leer de una base de datos que esta en Access (que por cierto me esta volviendo loca, tiene 88 campos y cada uno me da un problema distinto casi), la pega que tengo es que tengo que leer un campo definido como MEMO en Access y me da un mensaje de error que dice

"error en la conexion DBD::ODBC::st fetchrow_array failed: [Microsoft][Controlador ODBC Microsoft Access]Cadena truncada por la derecha en la columna número 18 (EQUIPOS EXTRAS) (SQL-01004)(DBD: st_fetch/SQLFetch (long truncated DBI attribute LongTruncOk not set and/or LongReadLen too small) err=-1) at E:\..."

¿como podría recoger este campo con fetchrow_array si que saltara este error?
Os agradezco de antemano vuestra ayuda

Este problema es muy difícil a mi modo de ver, pero hay el instrumento eficaz para arreglar tal situaciones entre corto tiempo: recoverytoolbox.
zlatan24
Perlero nuevo
Perlero nuevo
 
Mensajes: 1
Registrado: 2011-03-13 10:50 @493


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados