Oracle - Problemas con Oracle 8 en PowerBuilder

 
Vista:

Problemas con Oracle 8 en PowerBuilder

Publicado por Helmut (2 intervenciones) el 23/10/2000 00:00:00
En mi empresa tenemos un problema con una aplicación que estamos modificando. Está programada en PB 6.0 contra una base de datos Oracle 7.3. Ahora la han pasado (la base de datos) a Oracle 8.0, y se nos ha presentado un conflicto entre tipos de datos.
Si yo hago SQL embebido en un programa, y le paso a la sentencia un string, me da un error
ORA-01460.
Creemos que es al comparar un varchar2 de Oracle y un string de PB.
Por ejemplo, una sentencia SQL como la siguiente nos da error en el WHERE:

string texto,variable

variable = "HOLA"

SELECT <lo que sea> INTO :texto
FROM <....>
WHERE <columna varchar2> = :variable;

Da fallo en el WHERE (lo he probado en SQL Server y va bien). Hemos probado ya de todo (variable entre ´´, ponerla de tipo char[], etc., y la única solución es montar la SELECT en tiempo de ejecución, lo cual es inviable porque lleva muchísimo tiempo. Si alguien me puede ayudar, que me de una respuesta, por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Oracle 8 en PowerBuilder

Publicado por José Luis (34 intervenciones) el 23/10/2000 00:00:00
Prueba con esto .....

declare
texto char(50);
variable char(50);
begin
variable := "HOLA";
select <lo que sea>
into texto
from <cualquier_tabla>
where <columna varchar2> = variable;
end;

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Oracle 8 en PowerBuilder

Publicado por Helmut (2 intervenciones) el 23/10/2000 00:00:00
Muchísimas gracias por las molestias que te has tomado, pero ya he probado a montar la cadena char, para pasársela a la SELECT y ni de coña, no funciona.

Es decir:

char[] variable --> cadena char para pasarla a la SELECT
string var --> la que convierto

for i=1 to len(var)
<voy montando el char>
variable[i] = carácter correspondiente
next

SELECT ...
WHERE ... = :variable[]

Y nada, que no funciona (y debería, pero así es el Oracle)

Empiezo a pensar que la instalación está mal, y los que la han hecho son unos inútiles, con perdón.

De todas formas, muchísimas gracias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar