Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Error ODBC Driver al intentar escribir en una BD MySQL desde ASP 3.0

Estas en el tema de Error ODBC Driver al intentar escribir en una BD MySQL desde ASP 3.0 en el foro de Bases de Datos General en Foros del Web. Saludos, Estoy intentando interactuar ASP 3.0 con MySQL 4.0, tengo el siguiente código: 37-set tblpruebas = Server.CreateObject("ADODB.RecordSet") 38- 39-strSQL="SELECT * FROM tblpruebas ORDER BY PRID" ...
  #1 (permalink)  
Antiguo 05/06/2004, 09:14
 
Fecha de Ingreso: mayo-2004
Mensajes: 11
Antigüedad: 20 años
Puntos: 0
Error ODBC Driver al intentar escribir en una BD MySQL desde ASP 3.0

Saludos,

Estoy intentando interactuar ASP 3.0 con MySQL 4.0, tengo el siguiente código:


37-set tblpruebas = Server.CreateObject("ADODB.RecordSet")
38-
39-strSQL="SELECT * FROM tblpruebas ORDER BY PRID"
40-tblpruebas.Open strSQL, cnMySQL, adOpenDynamic, adLockOptimistic,adCmdText
41-
42-if tblpruebas.EOF then
43- tblpruebas.AddNew
44- tblpruebas("PRID")=1
45-else
46- tblpruebas.MoveLast
47- vPRID=tblpruebas("PRID")
48- tblpruebas.AddNew
49- tblpruebas("PRID")=vPRID+1
50-end if
51-
52-tblpruebas("PRNOM")=vNom
53-tblpruebas("PRMAIL")=vMail
54-
55-tblpruebas("PRCODE")=vCode
56-tblpruebas("PRDATE")=Date()
57-
58-tblpruebas.UpDate
59-tblpruebas.Close
60-cnMySql.Close

Por su parte la tabla tblpruebas tiene los siguientes campos:

PRID----Type: INT
PRNOM---Type: VARCHAR(50)
PRMAIL--Type: VARCHAR(50)
PRCODE--Type: INT
PRDATE--Type: DATE

El error que recibo es el siguiente:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
/p/index.asp, line 52

Este error, entre sus diferentes causas pueden ser:

- Incompatibilidad entre el nombre de los campos según código y el verdadero que tiene la tabla: NO EXISTE.
- Incompatibilidad entre el tipo de dato y el tipo de campo: NO EXISTE, por que pretendo escribir “Juan Mora” en un VARCHAR (50)
- Que la cadena sea más larga que la longitud del campo: NO LO ES.

Si hago un comentrio a las líneas 52 y 53 (la de las cadenas), todo funciona correctamente, salvo que no guardo ni nombre, ni eMail, es decir los campos INT y DATE no se quejan.

He probado las siguientes variantes y continua saliendo el mismo error:

52-tblpruebas("PRNOM")="Juan" //Escribiendo directamente una cadena

="'Juan'"
="'"&vNom&"'"
=trim(request.form("vNom"))

He cambiado los campos VARCHAR por MEDIUMTEXT, pero obtengo el siguiente error, referente al método UpDate:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Invalid string or buffer length
/p/index.asp, line 58


Solo puedo escribir correctamente en la tabla utilizando la sencia INSERT del PHPMyAdmin.

Para leeer el contenido de los campos no genera ningún error.

Gracias por su extensa atención.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:27.