IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

portage DBExpress vers Firedac


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut portage DBExpress vers Firedac
    Bonjour,

    J'utilisais un composant TSQLStoredProc pour appeler des procédures stockées sur un serveur SQL Server
    J'ai remplacé ce composant par TFDStoredProc mais j'ai une erreur lorsque j'appelle la commande Open:
    [Firedac][Phys][MSSQL]-308. Cannot Open/define command, wich does not return result sets. Hint: use execute/ExecSQL method for non-select commands
    La même procédure stockée appelée avec DBExpress me retourne bien les données.
    Dans DBExpress je mettais paramcheck:=false mais je n'ai pas trouvé d'équivalent dans Firedac. Le problème vient-il de là?
    7 fois à terre, 8 fois debout

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Si ta procédure stockée retourne un curseur, ajoute un paramètre ftCursor si il n'arrive pas à comprendre que tu ouvres un SELECT

    Aujourd'hui, j'ai eu la même erreur, en activant sur un TOraQuery l'utilisation d'un Thread pour l'exécution et le Fetch
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Pas mieux

    j'ai ajouté la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Params.CreateParam(ftcursor, 'Cursor', ptInputOutput);
    mais ça n'a rien donné. Ceci dit, il semble que le type ftCursor ne concerne qu'Oracle
    ftCursor : Curseur de sortie d'une procédure stockée Oracle (TParam uniquement)
    7 fois à terre, 8 fois debout

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Ayant eu la même erreur que toi en Oracle, je l'avais corrigé ainsi !
    Je n'avais pas fait attention que c'était spécifique Oracle

    Donc je sèche !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    J'ai la solution!

    Il suffisait d'ajouter le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myStoredProc.FetchOptions.Items := myStoredProc.FetchOptions.Items - [fiMeta];
    car les paramètres sont renseignés manuellement.
    7 fois à terre, 8 fois debout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Portage Delphi vers Turbo Delphi
    Par pi_hellz dans le forum Langage
    Réponses: 16
    Dernier message: 14/08/2007, 14h27
  2. Portage Win32 vers C#
    Par Trap D dans le forum C#
    Réponses: 3
    Dernier message: 29/03/2007, 10h53
  3. Portage Delphi vers Java ou C#?
    Par delphi5user dans le forum Langage
    Réponses: 4
    Dernier message: 20/04/2006, 09h44
  4. [Free Pascal] Portage TP7 vers FreePascal
    Par DioManU dans le forum Free Pascal
    Réponses: 3
    Dernier message: 12/03/2006, 21h30
  5. Problème portage Delphi3 vers Delphi7
    Par bob1980 dans le forum EDI
    Réponses: 5
    Dernier message: 30/11/2005, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo