Power Builder - Problema con DW en PB9.0

 
Vista:

Problema con DW en PB9.0

Publicado por Marco Sanchez Salazar (5 intervenciones) el 20/05/2005 05:38:10
Amigos (disculpen que sea extenso pero no me queda otra)

Tengo un problema con algunos Data Windows. Resulta que
e migrado al PBuilder 9.0 y lo estoy trabajando con
el SQL2000.

El problema me sucede en los Data Windows que contienen
mas de una tabla, las cuales estan relacionadas con un
OUTER JOIN y que tienen por lo menos una argumento de
recuperacion el cual esta declarado en la clausula WHERE.
Cuando ejecuto para recuperar los registros me sale el sgte.
mensaje de error:

Select error: SQLSTATE = 37000
[Microsoft][ODBC SQL Server Driver]Syntax error or access violation

He revisado la Conectividad (ODBC y Profile) y no le veo
nada de raro.

Pero haciendo muchas pruebas y jugando con muchas posibilidades
me di cuenta que si:
a) en vez de usar un OUTER JOIN usaba el JOIN por defecto (que
es el Join de igualdad total), mi DW si recuperaba los registros.
b) otra prueba que hice fue que usando el mismo DW (con OUTER JOIN)
y en la ventana: Column Specification marque en el Check Box
de la columna Prompt cualquier campo que conformaba mi DW,
tambien recuperaba los registros, pero lo malo que siempre
antes de recuperar me muestra la ventana: Specify Retrieval
Criteria, ademas no me parece este el camino correcto.
c) otra prueba es que usando el mismo DW (con OUTER JOIN), pero
solo declarando la variable en la opcion Retrieval Arguments
pero no en la clausula WHERE mi DW tambien recuperaba los
registros (pero como es de entender recuperaba todos los
registros pues no habia declarado la variable en la clausula
WHERE).
d) Por ultimo cree un DW totalmente nuevo en el PB9 con las mismas
caracteristicas (con la intencion de probar si el problema
era el DW que migre a PB9) pero no, me siguio dando el
mismo error.

Lamentablemente el JOIN de igualdad total no me sirve de mucho,
normalmente y por necesidad tengo que usar un OUTER JOIN y
como se imaginaran tambien tengo que declarar argumentos de
recuperacion en la clausula WHERE.

He intentado de todo y no doy con la solucion por favor pido
ayuda agradeciendo de antemano la atencion prestada.

Marco
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

checa esto!!!

Publicado por Victor //:-) (116 intervenciones) el 20/05/2005 18:59:01
¿¿¿¿por que usas ODBC ???? si PB9 tiene el driver nativo:

// Profile slrc
SQLCA.DBMS = "MSS Microsoft SQL Server" //SQL2000
SQLCA.Database = "TuContenedor"
SQLCA.ServerName = "TuServidor"
SQLCA.LogId = "TuUsuario"
SQLCA.Lock = "RC" //Nivel de aislamiento: Leer datos salvados
SQLCA.AutoCommit = True //Nivel de Transaccion: Cada Select,update,delete,insert tiene implicito un commit automatico.
SQLCA.DBParm = "Language='español',AppName='TU_APLICACION',Host='TU_NOMBRE_PC',AtAtIdentity=1" //Lenguaje:español,VariableAplicacion,VariableTerminal,Modo de Recuperacion del Identity.

Connect using SQLCA;

atte
Victor //:-)
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