Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Actuellement, nous développons en PB10. Nous utilisons une connection ODBC avec SQLServer (MS).
Nous n'avons pas de problème.
Pour faire des essais, nous avons migrer notre application en PB10.5. Nous utilisons a même connection ODBC avec SQLSERVER (MS)
mais nous prenons l'erreur :
Erreur Base de Données = -1 SQLDBCODE = 170
SQLSTATE = 3700
[Microsoft][ODBC SQL Server Driver][SQL Server] Ligne 1 : syntaxe incorrecte vers '.'.
Cela semble venir du fait que dans la datawindow appelée le nom de table est entre guillement. Pourtant, en PB10, le même programme avec le même ODBC ne fait pas erreur!!!!!
Merci de votre aide
PS : nous avons aussi avec ORACLE, par contre en acces natif, nous avons aucun probleme entre PB10 et PB10.5.
Hors ligne
j'ai vu ca...
http://groups.google.fr/group/sybase.pu … f7aeac9bb1
Hors ligne
Bonjour,
Merci à toi Pick ouic pour ton informtion,
Mais, il n'y a pas de réponse pour l'instant.
Le fait de modifier le notion "enclose table and column names in quotes" ne change rien. Je l'avais déjà essayer.
Encore merci quand pour l'info
Norbert
Hors ligne
peut etre la ?
http://groups.google.fr/group/powersoft … c4c69a9c19
Hors ligne
j'ai testé...
il faut juste decocher l'option...
je me suis reconnecté...
et la, lorsque je crée une datawindow, avec un sqlselect... je n'ai plus les doubles quotes...
Donc, pour moi, ca marche bien pour les nouveaux datawindows...
pour les anciennes, il faut enlever les doubles quotes...
ok, ca n'explique pas pourquoi il y a une difference la v10 et la v10.5...
peut etre une histoire d'upgrade ?
Hors ligne
le problème, c'est une grosse application avec plein de datawindows.
Rechercher et reprendre toutes les datawindows concernées ==> fastidieux et des risques d'erreurs en enlevant les guillemets
Le pire, en preview sur une datawindow en version 10.5, l'ordre sql est bien executé et les données s'affichent.
Cette même datawindow execute en mode run plante avec erreur de syntaxe.
A priori, en mode run ou executable, PB10.5 ne veut pas de table ou de champs entre guillemet.
(en PB10 pas de problème)
!!!!!!!!!!!!!!!!!!!!!!!
Hors ligne
Bonjour,
En tout cas merci pour l'information, car je vais être confronté au même problème.
Hors ligne
J'ai eu le même problème avec Adaptive Server Enterprise lors de la migration PowerBuilder 9 à 11, le nouveau driver (même pas sur que ça vienne de là) ne supporte pas les requêtes avec des guillemets.
J'ai ajouter:
SQLCA.DBParam="DelimitIdentifier='Yes'"
et ça fonctionne à présent sans retoucher tous les DataWindows
Edit: par contre je ne passe pas par ODBC mais par le drivers ASE
Fab
Dernière modification par thefab (21-10-2008 10:02:17)
Hors ligne
Bonjour,
Pour information j'utilise ASE 12.5.1 et SQL Anywhere 8.0.3 (ASA) avec driver ODBC, les requêtes sous ASA sont par défaut avec quotes et inversement pour ASE.
Pour utiliser la même datawindow avec une requête identique, je coche dans l'onglet "Advanced" du driver ODBC ASE => enable quoted identifier.
Le driver ODBC s'occupe alors de retirer les quotes pour passer une requête correcte pour ASE. Je ne connais pas le driver ODBC MS SQL, mais il doit bien exister l'équivalent.
Effectivement, le fait de modifier le paramètre "Enclose Table and column Names in quotes" dans le "database profile" va seulement influencer la façon de construire la requête de la datawindow et non modifier la façon dont le driver ODBC va traiter la requête.
Hors ligne