Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Je viens de migrer une application de PB 7 à PB 10.
=> No Soucis
La BD associée à cette application était ORACLE 8i.
La nouvelle BD associée à cette application est SQLSERVER.
=> Quelques soucis mais qui se corrigent facilement sauf UN.
Toutes mes DATAWINDOW ou tous mes SQL contenant un OUTER JOIN ne se retrievent plus ou me retourne un sqlcode à -1.
Petite curiosité si je prends, le script d'une DW et que j'execute ma requête dans la session SQL de PB, elle me retourne bien un résultat, alors que le programme, lui ne donne rien ou retourne une erreur.
Voila la syntaxe ORACLE de mon OUTER JOIN : SELECT * FROM "ADRESSES", "CLIENT", "INFOB" WHERE ( client.clisoc = adresses.adrsoc (+)) and ( client.clinum = adresses.adrcli (+)) and ( client.clisoc = infob.inbsoc ) and ( client.clinum = infob.inbcli ) ; Voila la syntaxe SQLSERVER de mon OUTER JOIN : SELECT * FROM {oj client LEFT OUTER JOIN adresses ON client.clisoc = adresses.adrsoc AND client.clinum = adresses.adrcli}, infob WHERE ( client.clisoc = infob.inbsoc ) and ( client.clinum = infob.inbcli ) ; Si vous avez rencontré un problème similaire, merci de me donner des tuyaus. @ TOURAN81. :modo: merci d'utiliser la balise [ code ] quand cela s'impose...
Dernière modification par touran81 (22-06-2010 15:53:27)
Hors ligne
Justement, tu te connecte comment à SQL Server ?
1) depuis PB
2) depuis ton application ?
Vérifie le paramètre OJSyntax, si tu es en OLE DB
Hors ligne
J'exécute mon appli depuis PB.
Hors ligne
shahin,
j'ai modifié mon OUTER JOIN DE LA FACON SUIVANTE.
SELECT * FROM ( client LEFT OUTER JOIN adresses ON client.clisoc = adresses.adrsoc AND client.clinum = adresses.adrcli), infob WHERE ( client.clisoc = infob.inbsoc ) and ( client.clinum = infob.inbcli ) ;
Et là, ca passe.
Hors ligne
meydey... code=pb ou code=sql ou code=mssql, plus d'infos ici
Hors ligne
Bonjour,
Dans la connexion, tu dois avoir le paramètre dbparm="OJSyntax='PB'" et dans powerbuilder, dans le database profile setup, sur l'onglet syntaxe, sur outer join syntax, tu dois avoir PB.
Hors ligne