Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Connexion aux bases de données
Connexion aux bases de données Forum d'entraide sur la connectivité Firebird: composants, drivers, transactions, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2008, 16h44   #1
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Par défaut Connexion Firebird via sdsl

Bonjour,
je souhaiterais connecter en directe une application de gestion via un lien SDSL en 2Mbit/s à une base Firebird 1.5. Est-ce que quelqu'un en a déjà l'expérience? Est-ce viable?
L'application en question est faite en Delphi et utilise les composants IBx.
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 16h56   #2
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
mouais
why not, mais cela va ramer
le client 2.1 est moins bavard (et encore moins avec un serveur 2.1)
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 18h09   #3
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Ok, je suis en train de tester la V2.1 en local mais toutes mes applications ne fonctionnent pas encore, j'ai encore quelques corrections à faire. Je me suis dit que si ça pouvait fonctionner en 1.5 alors ce serait encore mieux en 2.1. Quelles outils me permettrait de mesurer les volumes de données transférés par mon application? (ça m'aiderait à optimiser mon code)
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 16h53   #4
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
J'ai trouvé par hasard un moyen de mesurer le débit entrant et sortant de mon application. Le pare-feu de BitDefender me donne en temps réelle le volume de données qui transit sur le réseau. J'ai fait l'essai sur un serveur NT avec firebird 1.5 et un serveur 2003 en firebird 2.1. Il n'y a pas photo! La différence en volume de données est énorme! ça va d'un rapport de 2 à 10 fois moins de données qui transit sur le réseau.
Il y a eu un sacré boulot de fait! Chapeau bas!
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2008, 21h37   #5
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 326
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 326
Points : 4 798
Points : 4 798
Si tu en es à un premier stade de ton application, c'est inenvisageable d'utiliser une architecture plus complexe?
_skip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2008, 21h40   #6
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Citation:
Si tu en es à un premier stade de ton application, c'est inenvisageable d'utiliser une architecture plus complexe?
Malheureusement la plupart des logiciels sont en production depuis longtemps.
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2008, 22h02   #7
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Je réfléchi à commencer de nouveaux modules en architecture trois tiers mais je ne sais trop comment faire, quels composants utiliser. J'aurais aimer trouver des composants table mémoire où seuls les différences sont mises à jours via un serveur intercalé entre le client et la base de données. Des composants gratuits et open source de préférence.
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2008, 23h56   #8
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
dans les UIB, tu as un serveur d'application tout pret
il faut utiliser jsontoolkit : https://jsontoolkit.svn.sourceforge....ntoolkit/trunk
et le projet https://uib.svn.sourceforge.net/svnr...isc/AppServer/ qui est dans les UIB :
https://uib.svn.sourceforge.net/svnroot/uib/trunk
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2008, 10h06   #9
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Merci beaucoup Makowski je vais étudier tout ça de près, même si je ne sais pas trop comment je vais utiliser tout ça. Peut-être le début du nouvelle aventure?
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2008, 17h55   #10
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
essaie, cela vaut le coup
en plus, grace au travail d'Henri et des gens de FreePascal, c'est multi plateforme sans problème (Win32,Win64,Linux32,Linux64, MacOsX intel)
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 08h35   #11
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
En effet, ça me plais bien, je vais sans doute y consacrer une partie de mes vacances car je dois quand même continuer à développer mes autres projets. J'ai vu qu'il y a quelques petits exemples mais ce qui m'aurais intéressé c'est de voir la création, la modification, la suppression d'enregistrements dans une table.
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 08h38   #12
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
INSERT, UPDATE, DELETE rien de plus
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 10h42   #13
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 326
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 326
Points : 4 798
Points : 4 798
Citation:
Envoyé par ludo00002 Voir le message
En effet, ça me plais bien, je vais sans doute y consacrer une partie de mes vacances car je dois quand même continuer à développer mes autres projets. J'ai vu qu'il y a quelques petits exemples mais ce qui m'aurais intéressé c'est de voir la création, la modification, la suppression d'enregistrements dans une table.
T'es vraiment obligé de faire du delphi ? Car il existe des langages qui proposent des solutions d'ORM très élaborées...
_skip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 11h22   #14
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Citation:
T'es vraiment obligé de faire du delphi ? Car il existe des langages qui proposent des solutions d'ORM très élaborées...
Tout d'abord j'aime bien Delphi (ça ne s'explique pas ...). Ensuite il y a de bon composants optimisés pour firebird, de plus je souhaite réutiliser mon code. Je sais qu'il existe aussi des ORM pour Delphi.
Si je devais en changer je choisirais Ruby mais les composants d'accès à Firebird ne sont pas très développés.
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 11h25   #15
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Citation:
Envoyé par makowski Voir le message
INSERT, UPDATE, DELETE rien de plus
En effet ça ne vas pas me faciliter la tâche.
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 11h38   #16
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
au contraire, c'est justement hyper simple, tu envoies du json, tu récupère du json, tu le traites, basta

un exemple d'insert :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure country_add(This, Params: ISuperObject; var Result: ISuperObject);
var
  db: IZConnection;
  qr: IZPreparedStatement;
begin
  IF HTTPIsPost(this) then
  begin
    try
     db := pool.GetConnexion;
     try
        qr := db.PrepareStatement('INSERT INTO COUNTRY (country, currency) VALUES (?,?)');
        qr.SetString(1,Params.S['country']);
        qr.SetString(2,Params.S['currency']);
        qr.ExecutePrepared;
        HTTPredirect(this,'/country/index');
     except
      ON E: Exception do
      begin
        Params.S['action'] := 'index';
        This.S['error'] := E.Message;
        country_index(This, Params, Result);
      end;
     end;
    finally
      qr := nil;
      db := nil;
      pool.FreeConnexion;
    end;
  end;
  HTTPCompress(this);
end;
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 12h37   #17
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
C'est pas compliqué mais il faut avouer que ça demande plus de code que d'utiliser les composants DB et un IBDataSet.

Mais si j'ai bien compris son application utilise déjà les IBX.
Donc pour moi il a le choix entre :

- Changer d'architecture et passer en type 3 tiers (les UIB sont adaptés dans ce cas) mais on parle bien là d'un nouveau développement.

- Garder son application :
dans ce cas soit
a - Passer aux UIB celà implique de devoir casser pas mal de chose et devoir produire un peu plus de code (ce que les IBX/composantsDB prenaient en charge).

b - Continuer avec les IBX en sachant qu'un jour ou l'autre ca ne fonctionnera plus dans la version X de firebird. (Donc attendre pour devoir mieux sauter...)

c - Basculer sur une solution proche des IBX comme Fibplus qui demandera moins de travail et reste dans la même philosophie que les IBX tout en étant compatible fb2.1. En plus ces composants sont mieux optimisés que les IBX (moins bavard, et utilise un système de cache intéressant assez adapté aux connexions bas débits(type internet donc)). Seul hic, c'est payant, mais c'est largement remboursé par le temps que vous aller économiser par rapport à la solution a.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 13h00   #18
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
certes, mais n'oubile pas que je répondais à ça :
Citation:
Je réfléchi à commencer de nouveaux modules en architecture trois tiers mais je ne sais trop comment faire, quels composants utiliser.
quand à :
Citation:
C'est pas compliqué mais il faut avouer que ça demande plus de code que d'utiliser les composants DB et un IBDataSet.
ça se discute
rien n'empêche de simplifier tout ça en se faisant ses propres fonctions, procédures automatisant un bon nombres de choses

et dans mon cas, je ne laisse jamais des composants écrire le sql à ma place
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 15h58   #19
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Je replaçais juste les choses dans un contexte.
On dit bien la même chose tous les 2.

Citation:
Envoyé par makowski Voir le message
rien n'empêche de simplifier tout ça en se faisant ses propres fonctions, procédures automatisant un bon nombres de choses

et dans mon cas, je ne laisse jamais des composants écrire le sql à ma place
Moi non plus j'écris mon SQL avant et je le test dans IBExpert notamment pour vérifier qu'il utilise bien un index quand il le faut etc..
Par contre, de nature fainéante je n'aime pas trop réinventer la roue d'autant plus que ma roue risque d'avoir des défauts . Les mécanismes existant dans les composants DB fournit avec Delphi ou les composants Tiers que j'utilise me conviennent parfaitement, je verrai ça comme une régression que de devoir les réécrire où m'en passer. Enfin bon tout ça est un peu hors sujet

Donc pour conclure OUI aux UIB pour la réécriture de l'application en mode 3 tiers. Mais en attendant cette réécriture, s'il veut utiliser les applis exitantes, je lui conseil l'option "c" ou bien éventuellement l'option "b" mais après l'avoir bien testée. Ces 2 solutions lui demanderont bien moins de travail tout en ayant un gain de performance significatif en passant sous fb2.1.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 17h10   #20
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
En conclusion il faut que je commence mes nouveaux projets en architecture 3 tiers mais que pour l'existant je peux passer en Fibplus les applications qui sont déjà en production.
Deux questions me viennent :
- Est-ce que je ne risque pas malgré tout d'avoir du code à modifier une fois remplacé les composants IBx par Fibplus?
- Est-ce qu'il y a des choses a modifier pour utiliser le cache au maximum?
- Est-ce que les performances gagnées sont à la hauteur pour une connexion Adsl avec un Upload de 600kb/s.
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h58.


 
 
 
 
Partenaires

Hébergement Web