Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour à tous,
Je rencontre actuellement un soucis et un peu d'aide serait la bienvenue :
Lors de l'utilisation de l'interface de développement, j'effectue un retrieve manuel dans une datawindow déjà existante ( Procédure stockée + argument passé en paramètre d'entrée ) et j'obtiens l'anomalie suivante :
Select error : SQLSTATE = 22005 [Microsoft] [SQL Native Client] Valeur de caractère non valide pour la spécification de la casse
Après plusieurs tentatives, je décide de créer une procédure stockée 'basique' avec quand même un paramètre en entrée et de créer une datawindow basée sur celle-ci.
Voici le code de la proc :
CREATE PROC anpi_test ( @as_event varchar(3) ) AS BEGIN SELECT 'test' 'COL' END
Après avoir click sur finish dans le wizard, j'obtiens le message suivant :
Cannot create datawindow
'SQLSTATE = 22005 [Microsoft] [SQL Native Client] Valeur de caractère non valide pour la spécification de la casse
1 execute anpi_test; 1 @as_event = :as_event'
Nouveau test : je créé une nouvelle procédure stockée 'basique' mais cette fois-ci sans paramètre en entrée.
Dans ce cas j'arrive à créer la datawindow.
L'erreur se produit également en runtime et aussi avec l'exécutable.
J'ai essayé tous les drivers ODBC + natifs disponibles au bureau : cela ne change rien
J'ai modifié les paramètres ODBC de la même manière ( et plus encore ) que ce qui est décrit dans les post relatifs au même problème sur le site : cela ne change rien
Je sais que le problème ne se rencontrait pas dans la version 10.2
Je sais que sur le support Sybase, le problème est régulièrement résolu par la livraison d'un patch (EBF)
Une demande de support a été réalisée aujourd'hui auprès de Sybase
Je ne sais pas si quelqu'un a une idée parce que là j'avoue que je patine...
Anpi
PS :
Ma config :
- PB 10.5.1 build 6602
- SQL Server 2000
Hors ligne
cette datawindow appelant la procedure stockée existait deja ? et ca fonctionnait avant ?
Hors ligne
Bonjour Pick ouic,
oui, la procédure stockée existait déjà auparavant et cela fonctionnait sous pb 10.2 .
As-tu une idée du temps moyen que cela prend lorsque l'on soumet un problème au support Sybase ?
Anpi
Hors ligne
SQLCA.DBParm = "StripParmNames='Yes'"
tu as ca dans tes parametres ?
Hors ligne
Je vais tout reprendre à 0 dans mes tests, peut-être que j'ai oublié quelque chose, on ne sait jamais.
Je vais faire le test au niveau des paramètres de connexion et je te tiens au courant...
Anpi
Hors ligne
ok
esssaye avec ca deja...
Hors ligne
Voici mes tests ainsi que les résultats obtenus :
Cas testé = Retrieve manuel dans une datawindow déjà existante ( Procédure stockée + argument passé en paramètre d'entrée )
Config du test n°1
// Profile DEV
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=XXXXX;UID=XXXXX;PWD=XXXXX'"
Resultat du test n°1 :
Select error : SQLSTATE = 22005 [Microsoft] [SQL Native Client] Valeur de caractère non valide pour la spécification de la casse
Config du test n°2
// Profile DEV
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=XXXXX;UID=XXXXX;PWD=XXXXX',StripParmNames='Yes'"
Resultat du test n°2 :
Select error : An error occured, but no message was returned by the database driver
Résultat de la modification du paramétrage de connexion :
Le messgage d'erreur a changé mais l'erreur subsiste.
Ca te donne une indication ?
Hors ligne
tu as changé la version du driver de l'ODBC ?
Hors ligne
et ce n'est pas plutot ca ?
Config du test n°2
// Profile DEV
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=XXXXX;UID=XXXXX;PWD=XXXXX;StripParmNames=Yes'"
Hors ligne
Je n'ai pas changé la version du driver ODBC entre les 2 tests effectués dans mon post précédent. J'ai juste coché l'option StripParmNames dans l'éditeur de profil DB sous powerbuilder.
Hors ligne
autant pour moi.
Hors ligne
Pas de problème, c'est déjà sympa de ta part de regarder...
Bon sinon, j'ai trouvé un truc marrant ( un bug ??? ) par rapport à ton précédent message :
lorsque l'on coche l'option Strip Parameter Names dans l'onglet Syntax cela met ça dans le preview :
SQLCA.DBParm = "ConnectString='DSN=XXXXX;UID=XXXXX;PWD=XXXXX',StripParmNames='Yes'"
et
lorsque l'on ecrit StripParmNames='Yes' dans la zone driver specific parameter de l'onglet Connection, cela met ça dans le preview :
SQLCA.DBParm = "ConnectString='DSN=XXXXX;UID=XXXXX;PWD=XXXXX';StripParmNames='Yes'"
J'ai l'impression que le fait de cocher l'option dans l'interface génère une erreur de syntaxe (, au lieu du ;) dans la chaine de connexion.
Marrant non ?
Hors ligne
SQLCA.DBParm = "ConnectString='DSN=EAS Demo DB V3;UID=dba;PWD=sql',DelimitIdentifier='No',CallEscape='No',StripParmNames='Yes'"
rajoute le callescape = 'No'
Hors ligne
J'ai misexactement la même chaîne et cela donne toujours au moment du retrieve :
Select error : SQLSTATE = 22005 [Microsoft] [SQL Native Client] Valeur de caractère non valide pour la spécification de la casse
Je ne vois pas. Plus ça va plus je pense qu'il s'agit d'un bug lié à la version 10.5.1 ...
As-tu une idée du temps moyen que cela prend lorsque l'on soumet un problème au support Sybase ?
Hors ligne
http://pbadonf.fr/forum/viewtopic.php?pid=57#p57
je ne connais pas le support de sybase... mais il parait que ca peut etre assez long
Hors ligne
tu as des news depuis ?
de sybase ?
ou tu as réussi à regler ton probleme ?
Hors ligne
Bonjour Pick ouic,
Oui j'ai des news, j'ai enfin réussi à me sortir d'affaire... ( ouf ! )
En fait, j'avais un double problème :
1 - Problème de paramétrage de ma connexion :
Il fallait que je mette le paramétrage suivant :
PBNewSPInvocation = 'Yes'
StripParmNames='Yes'
CallEscape='No'
Une fois que cela a été fait, j'ai pu à nouveau créer de nouvelles datawindows basées sur des procs stocks ayant des paramètres
2 - Problème de "Select error ..." lors du retrieve de la datawindow que je devais corriger
Au moins une des colonnes définies dans ma dw était trop petite pour supporter le select renvoyé par ma proc. stockée.
( ex : string 5 dans la dw pour string de 10 effectivement retourné par le select de la proc ).
J'ai aggrandi la taille de toutes les colonnes dans la dw et le retrieve s'est enfin déroulé correctement !
Il y a apparament une différence entre PB 10.2 et la version 10.5.1 au niveau de la gestion de ce type d'erreur car, à configuration égale ( dw + proc stoc ), cela ne posait pas de problème en PB 10.2 . Donc attention à tous ceux que passent en PB 10.5.1 .
Merci pour ton aide
PS : comment met-on résolu sur le titre de la discussion ?
Hors ligne
merci pour tes reponses.
c'est fait pour le RESOLU
Hors ligne
Pages: 1