Tengo este error en la llamada de una DLL en Visual Basic:
Número: -2147467259
Descripción: [Microsoft][ODBC driver for Oracle][Oracle]ORA-02005: longitud (-1) implícita no válida para este tipo de dato de definición o enlace
Es un procedimiento de busqueda.
Resulta que al crear el procedimiento comence a declarar las variables de salida de este modo:
o_salida OUT var_str;
Donde var_str se declaraba en la cabezera asi:
TYPE var_str IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER;
Cuando compilaba el packages ningun problema, pero cuando ruteaba el package se quedaba pegado y me tiraba el time out . Diciendo que se esperaba tal o cual caracter; ;,/,:,etc.
Decidi declarar la variable de salida asi:
o_salida OUT Varchar2;
Y asi me compila y me rutea OK.
Pero el problema es cuando llamo al procedimiento desde la pagina ASP y pasa por una DLL.
Yo creo que es un problema especifico de la declaracion de la variable de salida.
Todo el codigo esta revisado y no tiene ningun error, por eso digo que es de la comunicacion de la DLL con el package.
Ojala que alguien a quien le alla pasado lo mismo me puda dar alguna pista para encontrar el problema, e perdido mucho tiempo probando de diferentes formas.
Ah, y otra cosa, probe la misma DLL llamando a otro package y funciona bien.
Por cualquier ayuda, Gracias.