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 :

Delphi 6 et migration Oracle 8i vers 10g : problème de dll


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Delphi 6 et migration Oracle 8i vers 10g : problème de dll
    Bonjour,
    nous avons une application client-serveur développée avec Delphi 6 et qui accèdait à une base oracle 8i
    Les composants utilisés dans Delphi pour les accès BDD sont des SqlDataSet

    Lors de nos premiers tests de bascule sur une base 10g, nous avons eu des problèmes de lenteur énorme dans les accès à la base, même pour des requêtes très simples

    Nous avons cru trouver que le problème provenait de la dll dbexpora et changé la dll datant du 06/03/2002 par une nouvelle datant du 06/05/2005 (cette dernière étant fournie avec Delphi 2006)

    Cela a résolu nos problèmes de lenteur mais cela a d'autres effets indésirables. Le plus gênant de tous étant l'impossibilité d'insérer une nouvelle ligne dans une grille, avec le message "Field required value", alors que tous les champs sont renseignés !!!

    Quelqu'un aurait-il rencontré ces pb de lenteur lors d'un passage de Oracle 8i à 10g ?
    si oui, a t-il réussi à le résoudre sans générer d'autres soucis ?

    Merci

  2. #2
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Lors de nos premiers tests de bascule sur une base 10g, nous avons eu des problèmes de lenteur énorme dans les accès à la base, même pour des requêtes très simples
    Nous, on n'est pas dans le cadre d'une migration, mais dès le départ, avec BDS2006, les requêtes qui renvoient des champs CLOB ou BLOB sont horriblement lentes (et ce même avec une requête triviale, et les champs LOB à NULL).

    Après de nombreuses investigations, on est arrivé à la conclusion que le problème venait de dbExpress même et n'est pas lié à Oracle. On reproduit le même problème de lenteur sous SQL Server.

    Pour résoudre le problème, j'ai réécrit les composants d'accès aux données de Delphi en me basant directement sur OCI. Les requêtes sont passées de 16s (pour renvoyer 1000 lignes) à 200 ms.

  3. #3
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 961
    Points
    6 961
    Par défaut
    Citation Envoyé par Franck SORIANO Voir le message
    Après de nombreuses investigations, on est arrivé à la conclusion que le problème venait de dbExpress
    C'est la même version que celle de Delphi 2007-2008, ou pas ?
    Ca m'intéresse. On pense passer du BDE à DBExpress, et s'il y a des bugs, autant le savoir avant.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  4. #4
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    C'est la même version que celle de Delphi 2007-2008, ou pas ?
    Je n'ai pas essayé avec D2007. Mais pour autant que je sache, BDS2006 c'est du dbx3, tandis qu'avec D2007 c'est du dbx4.
    Donc ce serait une autre version (maintenant ça ne veut pas nécessairement dire que c'est corrigé).
    Il faudra tester...

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Franck SORIANO Voir le message
    Nous, on n'est pas dans le cadre d'une migration, mais dès le départ, avec BDS2006, les requêtes qui renvoient des champs CLOB ou BLOB sont horriblement lentes (et ce même avec une requête triviale, et les champs LOB à NULL).
    Seule une table possède un champ clob dans notre structure de données
    et la lenteur est impressionnante lors des premiers accès à la base, après le login applicatif
    par exemple, je lance l'application avec dbexpora.dll de 2002 en me connectant sur une base 8i, tout est ok, mais sur une base 10g, les temps d'accès sont multipliés par 100 voir pire !!!
    et en prenant dbaexpora.dll de 2005, les temps d'accès et d'affichage sont identiques, entre une base 8i et une base 10g, mais nous avons des comportements différents en fonction des écrans

    Citation Envoyé par Franck SORIANO Voir le message
    Après de nombreuses investigations, on est arrivé à la conclusion que le problème venait de dbExpress même et n'est pas lié à Oracle. On reproduit le même problème de lenteur sous SQL Server.
    Pour résoudre le problème, j'ai réécrit les composants d'accès aux données de Delphi en me basant directement sur OCI. Les requêtes sont passées de 16s (pour renvoyer 1000 lignes) à 200 ms.
    Malheureusement, il n'est pas question pour nous de réécrire quoique ce soit, donc il nous faut trouver une solution pour que l'accès soit aussi rapide qu'avant lorsque nous voudrons accéder à une base 10g

    Merci pour vos réponses mais nous continuons à chercher ...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 735
    Points : 807
    Points
    807
    Par défaut
    A mon avis, tu dois pouvoir t'en sortir en utilisant des composants tiers comme ceux de CoreLab : http://crlab.com/dbx/

    Si CodeGear ne mantient plus les composants dbExpress (de Delphi 6) pour les versions récentes d'Oracle, Corelab doit le faire...

    A tester...

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Nous avons également des projets développés sous Delphi 6 et qui interroges des bases 10G. Nous utilisons pour cela les composants DOA de allround automation qui fonctionnent très bien. Par contre il faut prendre garde à mettre la propriété optimize à false car cela pose problème à partir de la 10G.

Discussions similaires

  1. [Migration] comment faire la migration referentiel BO de oracle 9i vers 10g
    Par travail2009 dans le forum Administration-Migration
    Réponses: 2
    Dernier message: 15/09/2009, 13h47
  2. Migration Oracle 9i vers 10g
    Par Dadou74 dans le forum SQL
    Réponses: 6
    Dernier message: 31/07/2009, 11h36
  3. Migration Oracle 8i vers 10G XE
    Par ilalaina dans le forum Administration
    Réponses: 2
    Dernier message: 08/11/2007, 09h32
  4. Migration de l'oracle 8i vers 10g express
    Par Sabact dans le forum SQL
    Réponses: 4
    Dernier message: 30/10/2007, 10h14
  5. migration Oracle 8 vers 10g :
    Par comboDev dans le forum Administration
    Réponses: 1
    Dernier message: 10/05/2007, 17h50

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