Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
Ce petit bout de code en PB9 me pose problème :
UO_Transaction SQLCG SQLCG = Create UO_Transaction If SQLCG.connexion() Then Long ll_nb SELECT COUNT(*) INTO :ll_nb FROM adid.AD_MAT USING SQLCG; If SQLCG.SQLCode <> 0 Then messageBox("Test", SQLCG.SQLErrText) Else messageBox("Test", "Nb matricules : " + String(ll_nb)) End If DISCONNECT USING SQLCG; Destroy SQLCG End If
Pour infos, la méthode "connexion()" effectue ceci :
This.DBMS = "O90 Oracle 9i" This.ServerName = ls_servicename This.DBParm = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)" & + "(HOST = " + ls_servername + ")(PORT = 1521))) " & + "(CONNECT_DATA = (SERVICE_NAME = " + ls_dbname + ")))"
J'ai essayé en remplaçant le Long par un Integer, mais j'ai le même syndrome.
Dernière modification par sbouvetJD (17-10-2013 09:23:41)
Hors ligne
Salut,
tu pourrais peut-être préciser le syndrome (toux, irritations, perte de connaissance,... )?
Hors ligne
Irritations, sûrement car en avril nous avions effectué des tests concluants et une fois la mise en production, PAF ! Plus rien ne marche...
Le syndrome est dans le titre, à savoir que l'affectation de mon COUNT(*) à une variable de type Long m'affiche l'erreur "Mismatch beween retrieve columns and fetch columns"
Hors ligne
Bonjour,
dans l'intitulé du post, je vois [ORACLE 10i] et dans la fonction de connexion "O90 Oracle 9i", je pense qu'il faut chercher de ce côté là (problème de compatibilité ?).
Essaies d'activer la trace DB (avec This.DBMS = "TRACE O90 Oracle 9i") et vois si le log t'en dis plus.
Et aussi, je sortirais le Destroy SQLCG du IF.
Hors ligne
Bon... En fait il s'agissait d'un problème dans mon fichier tnsnames.ora où le serveur référencé était encore le serveur de test. Bonjour la cohérence des messages d'erreur...
A savoir que l'on peut "attaquer" un serveur Oracle 10 avec pbo9090.dll :P (ça marche)
Hors ligne
Pages: 1