Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2007
crc crc is offline
Registrado
 
Registrado: may 2007
Posts: 7
Poder: 0
crc Va por buen camino
Recuperar el ERROR de ORACLE.

Estimados:


Estoy Usando un componenete Tquery con Oracle 8, estoy realizando un INSERT a un tabla, pero por alguna motivo el Insert no funciona.

Alguien conoce alguna manera de Conocer el Codigo del Error Oracle que la transaccion me da???


Muchas gracias y Saludos,
Responder Con Cita
  #2  
Antiguo 31-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Puedes poner el mensaje de error que te manda, y tu codigo para analizar cual es el problema, para buscar la solucion.
Con la descripcion que pones se me pueden ocurrir muchas cosas
Responder Con Cita
  #3  
Antiguo 31-05-2007
crc crc is offline
Registrado
 
Registrado: may 2007
Posts: 7
Poder: 0
crc Va por buen camino
Cita:
Empezado por karlaoax
Puedes poner el mensaje de error que te manda, y tu codigo para analizar cual es el problema, para buscar la solucion.
Con la descripcion que pones se me pueden ocurrir muchas cosas
Este es mi codigo..
procedure
TdmYaqbar01DataModule.InsertMSF012_XXXXXX01(DistrictCode,ReceiveWH,WaybillNo,WbillItemNo,StockCode,B inLocation,ReceivedDate,
TransferWH,TransferBinCode,TransferDate: string);
begin
with sqlInsertMSF012_XXXXXX01 do begin
try
Close;
Params[0].AsString := FillCharRight(' ',DistrictCode,4);
Params[1].AsString := FillCharRight(' ',ReceiveWH,4);
Params[2].AsString := WaybillNo;
Params[3].AsString := WbillItemNo;
Params[4].AsString := StockCode;
Params[5].AsString := FillCharRight(' ',BinLocation,12);
Params[6].AsString := ReceivedDate;
Params[7].AsString := FillCharRight(' ',TransferWH,4);
Params[8].AsString := FillCharRight(' ',TransferBinCode,12);
Params[9].AsString := TransferDate;
ExecSQL;
except
on E: Exception do raise Exception.CreateFmt(QY_150, [WaybillNo]);
end;
end;
end;

Me mnuestra el Erro definido para QY_150, pero yo quiero saber el ERROR de fondo que me da el SQL de insercion.. cuando insertas puede que la clave este mal o que la tabla no existe o algun otro error....ese codigo es el que quiero capturar.

Saludos,
Responder Con Cita
  #4  
Antiguo 02-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Código Delphi [-]
...
except on E: Exception do begin
  Showmessage(E.ClassName+' - '+E.Message+' - '+E.ErrNum);
  raise Exception.CreateFmt(QY_150, [WaybillNo]);
 end; //execption 
      end; //try

Es poco recomendable que utilizes E:Exception ya que pase lo que pase, capturaras el error y podría ser un error que no deseas. En este caso lo estamos utilizando para obtener el ClassName y el ErrNum. Pero una vez que tengas estos dos datos, lo mejor es que utilizes los mismos para capturar el error que deseas. es decir:

Código Delphi [-]
try
    ExecSQL; //Instrucción insert
except on E:EDBEngineError do begin
     If E.Errors[0].ErrorCode = 9729 then begin
      showmessage('llave duplicada');
   end else begin
      Raise;
    end; //errorcode
end; //Fin try
__________________

Responder Con Cita
  #5  
Antiguo 04-06-2007
crc crc is offline
Registrado
 
Registrado: may 2007
Posts: 7
Poder: 0
crc Va por buen camino
Muchas Gracias ContraVeneno,
El codigo funciono perfectamente

se agradece el tiempo y las ganas de ayudar.
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
Recuperar password Oracle SMTZ Oracle 1 30-12-2005 15:55:38
oracle - ado: no se pudo recuperar el mensaje lento manu Conexión con bases de datos 0 31-10-2005 20:19:29
Recuperar Control File Oracle o Informacion desde DATAFILE pzhero Oracle 0 06-09-2004 20:00:10
error con ADO y ORACLE torito Conexión con bases de datos 1 02-12-2003 01:34:33
Oracle y error Fr@n Oracle 3 31-05-2003 01:32:27


La franja horaria es GMT +2. Ahora son las 09:13:33.


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