Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2006
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
La operacion en varios pasos generó errores. Compruebe los valores de estado.

Hola compañeros.

Estoy enganchado con un problema derivado parece de las conexiones ADO con SQL Server.

Me dá el error a la hora de aceptar la grabación de datos en la tabla oportuna de la BBDD:
La operación en varios pasos generó errores. Compruebe los valores de estado.

He comprobado en las páginas de Microsoft http://support.microsoft.com/kb/269495 y me indica, a mi entender, que puede ser por dos motivos :
Hay aquí dos causas posibles de este error:
Cita:
• En el Registro bajo la clave para el CLSID de un proveedor OLE DB, puede haber denominar OLEDB_SERVICES por una entrada. Si no tiene la entrada OLEDB_SERVICES el proveedor de OLE DB utilizado para que el proveedor realice la conexión ADO y si ADO intenta configurar una propiedad que no es compatible con el proveedor, se produce el error. Para más información acerca de esta entrada de Registro, vea la sección "Resolución".
• Si la entrada OLEDB_SERVICES existe pero si un problema es en la cadena de conexión ADO, se produce el error.
Pero el error no me viene por la conexión, ya que esta se realiza bien tanto en la prueba en tiempo de diseño como en la apertura, y tengo la entrada correctamente en el Registro de Windows y la propiedad de las ADOConection "Persist Security Info = False" , dándome el error en la inserción y posterior Post o UpdateBatch.

Es por eso que siguiendo buscando he encontrado este otro enlace http://www.clubdelphi.com/foros/show...genero+errores en este mismo foro:
He procedido a comprobar esto:
Cita:
La solución que plantea Microsoft es no insertar una cadena vacia '' en un campo memo o que el campo memo admita el valor null.
Pero tampoco es por eso, ya que todos los campos memos con los que trabajo de las diferentes tablas pueden obtener el valor NULL, además he comentado todas las líneas del código donde se hacen asignaciones a dichos campos para que nunca se asignen valores a los mismos y también me perdura el error.

Si lo soluciono, lo comunicaré, ya que el compañero entonces no dejo "posteada" cual fue su solución. Mientras, si álguien se ha visto en este estado o ha tenido este problema, le agradecería me comunicase cual fué el camino de la solución. Mientras confio en que alguien tenga algo con lo que ayudarme.
Un saludo y gracias.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.

Última edición por Cabanyaler fecha: 07-02-2006 a las 12:41:51.
Responder Con Cita
  #2  
Antiguo 07-02-2006
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
Bueno ya he localizado, al menos, donde me salta el error.
Es cuando hago:
Código Delphi [-]
 Nombre_DataModule.NombreTabla.UpdateBatch();
¿Porque me dá error? No lo sé. La misma configuración tengo para esa tabla que para otras que si se "Updean", incluso tablas que comparten la misma ADOConnetion con la tabla que da error.
Las propiedades de las tablas con respecto a la que da el error son las mismas exactamente, y no tiene ningún evento ni After ni Before que pueda producir algún tipo de efecto lateral imprevisto.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.
Responder Con Cita
  #3  
Antiguo 07-02-2006
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
... huele a tripas, intestinos, pancreas desgarrados, higados, riñones, pulmones, huele a sangre!!!!!!

Ya lo he pillado, el valor predeterminado de un campo Memo de la tabla en cuestión estaba asignado a (''), urgando, urgando lo pillé.
He estado mirando hasta el código ensamblador del Debug de Delphi.

Voy a limpiarme las manos y cambiarme de roba, puajjjj, esto es peor que CSI en versión gore.; ah! ¿pero CSI no era gore?
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.

Última edición por Cabanyaler fecha: 07-02-2006 a las 17:46:31.
Responder Con Cita
  #4  
Antiguo 07-02-2006
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
MI GOZO EN UN POZO

Me lo vuelve a hacer, y ya tengo corregidos los valores de los campos Memo sin valor predeterminado ni nada.
Empiezo a estar precocupado.
¿Pueden las tablas en SQL Server volverse corruptas o algo así, al hacer inserciones como ocurría con los indices de Paradox o algo parecido?, ummmm
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.
Responder Con Cita
  #5  
Antiguo 09-02-2006
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
Thumbs up Solucionado

.... Ya está, ayer noche mientras veía en la tele una de las cosas más bonitas que jamás en visto en un estadio , corregí el error.

Gracias al compañero que me guió en el link mencionado en el anterior hilo, me dediqué a comprobar la longitud de los campos de tipo "varchar", y me dí cuenta que se debe tener cuidado con esto, ya que si por descuido tienes en en algún atributo de las tablas creadas a partir de Store procedures o Consultas en el lado cliente una longitud diferente a la longitud del propio atributo en las tablas del servidor, el error que te salta es ese mismo.

Por ello, cuando salta este error puede ser principalmente por alguno de los motivos expresados en los anteriores hilos además de las diferentes longitudes de atributos de los Dataset del lado cliente y las tablas del lado servidor, y sólo en aquellos de tipo varchar o generalmente de tipo texto o string.

Suerte, a todos, todos, y si os sale este error, espero os sirva esta mi experiencia y la de muchos otros.

Hasta pronto.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.
Responder Con Cita
  #6  
Antiguo 09-02-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Bueno, pues gracias por la info!

Saludos!
Responder Con Cita
  #7  
Antiguo 06-08-2007
igno igno is offline
Registrado
 
Registrado: oct 2006
Posts: 2
Poder: 0
igno Va por buen camino
Hola, tambien me pasaba ese error especialmente en los reportes, me di cuenta que error era gracias a este query

Código SQL [-]
SELECT e.empleado,p.persona,p.nombrelegal 
FROM persona p
JOIN empleado e on p.persona = e.persona
JOIN proyresponsable pro on pro.empleado = e.empleado
where pro.actividad = :actividad and pro.secuenciaperiodo = :secuenciaperiodo

Hice el query de varias formas y nada, siempre saltaba el error me di cuenta que si quitaba del SELECT los campos de la tabla persona el error desaparecia, si agregaba solo p.persona corria bien, por otra parte si agregaba solamente p.nombrelegal tambien corria bien entonces puse los campos alreves volteado, asi:

Código SQL [-]
SELECT e.empleado,p.nombrelegal,p.persona

y el error desaparecio totalmente!! como puede afectar el orden del select?????

Se que este hilo es algo viejo, y que a lo mejor mi caso sea un misterio del nuevo milenio o algo asi, pero pues por si le llega a pasar a alguien no pase por alto un simple query como yo.

Saludos!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
La operación en varios pasos generó errores. aig Conexión con bases de datos 0 24-07-2003 10:47:05


La franja horaria es GMT +2. Ahora son las 22:20:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi