Consulta de código en oracle con error en la conversión de tipos de datos

Hola
Mi problema es que no podido ejecutar un procedimiento almacenado, el llamado lo estoy haciendo de la siguiente forma:
L_sCodTInf = Txt_Codigo_TInforme.Text
L_sDesTInf = Txt_Descripcion.Text
L_sSql_Tinf = "AddNuevoTipoInforme( " & L_sCodTInf & ", " & L_sDesTInf & " );"
Set L_dActual = OpenDatabase(G_sRuta + "DB\DB1.mdb", False)
Set L_qLectura = L_dActual.CreateQueryDef("")
With L_qLectura
.Connect = G_sOdbcConector
.Execute L_sSql_Tinf
End With
El campo tipo_informe es de tipo CHAR de 10
el campo descrpcion es de tipo VARCHAR2 de 50
cuando lo ejecuto me da el error 3421 "error en conversion de tipos de datos"
el procedimiento almacenado es este:
CREATE OR REPLACE PROCEDURE AddNuevoTipoInforme
(p_TipoInforme Tipos_Informes.TIPO_INFORME%TYPE,p_Descripcion Tipos_Informes.DESCRIPCION%TYPE) AS
BEGIN
INSERT INTO Tipos_Informes (Tipo_Informe, Descripcion) VALUES (p_TipoInforme, p_Descripcion);
COMMIT;
END AddNuevoTipoInforme;
De antemano muchas gracias.

2 Respuestas

Respuesta
1
Hay problemas en los tipos de datos que le pasas como parmetro...
Quítale el %TYPE y ponele directamente char y varchar2 a ver que pasa.. fíjate que el parámetro de entrada sea del mismo tipo de dato...
Éxitos!
;=)
Hice lo que me dices, pero el problema persiste.
Te agradeceré si me puedes ayudar
¿Si levantas la variable L_sSql_Tinf que te trae el valor de la misma? Seguramente est´trayendo una coma o un punto algo que no entiende el varchar entonces falla, si es así deberías crear una función para tratar esa cadena antes de pasarlo al Orcle.
;=)
Respuesta
1
Por lo que veo el procedimiento no lo cambies porque está bien hecho revisa el otro porque el fallo puede estar ahí.
Si hiciste lo que te dije anteriormente asegúrate que lo revisaste bien y prueba a cambiar los tipos de datos seguro que es eso.
Revisa también el tipo de conexión ODBC que realizas.
Hola
Lo primero gracias por tomarte el tiempo en ayudarme.
Lo intente con las recomendaciones que me distes pero me da el mismo error:
Error de conversión de tipos de datos. (Error 3421)
Atentamente.
Jacob
Ten cuidado con los .text del principio suele dar problemas eso si luego metemos números, puedes convertirlo a tipo número si quieres con la función correspondiente.
También te aconsejo que no uses el tipo de dato char porque da muchos problemas.
Prueba esas dos cosas si no te sale bien así pídeme una aclaración sino no olvides finalizar y puntuar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas