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

Connexion aux bases de données Firebird Discussion :

Probleme connexion a base Firebird en vb avec ado


Sujet :

Connexion aux bases de données Firebird

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Points : 23
    Points
    23
    Par défaut Probleme connexion a base Firebird en vb avec ado
    Bonjour,

    J'utilise un objet ADO pour me connecter a une base Firebird, l'orsque que j'indique une base de donnée sur un disque local ca tourne, mais l'orsque j'indique une base de donnee sur un autre poste j'ai une erreur [ODBC Firebird Driver]File Database is not found -2147217843.
    Le dossier est accessbile en lecture ecriture, pas de droit particulier.
    j'ai essaye avec un lecteur reseau connecte, mais la aussi cela foire.
    Avez vous des suggestions.
    Merci

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Je n'ai jamais utilisé ADO pour me connecter à une BDD Firebird.
    A quoi ressemble ta chaine de connexion ?

    PS: En théorie ADO ou pas, le dossier dans lequel réside la base n'est pas censé être partagé. Encore moins via un lecteur mappé.

    @+ Claudius

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    Voici la chaine demander :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Set ADOConnect = New ADODB.Connection
    Set AdORecordset = New ADODB.Recordset
    ADOConnect.ConnectionString = "DRIVER=Firebird/InterBase(r) driver;SERVER=Ordilocal;DATABASE=\\Ordidistant\PartageFDB\AXI_DATABASE.fdb;UID=SYSDBA;PWD=masterkey"
    'Ouverture de la base de données
    ADOConnect.Open
    '
    '
    ADOConnect.Close
    Sachant que cette methode fonctionne pour une base fdb sur un disque locale la ou ca coince c'est pour une base sur un ordi du reseau.

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Ooops, si je lis bien ta chaîne de connexion, je subodore un p'tit soucis.

    La base de données doit se situer sur la même machine que le serveur Firebird.
    De plus on précise le chemin d'accès à la BDD vu depuis le serveur.

    La chaine devrait ressembler à ceci:
    ADOConnect.ConnectionString = "DRIVER=Firebird/InterBase(r) driver;SERVER=\\Ordidistant;DATABASE=C:\Databases\AXI_DATABASE.fdb;UID=SYSDBA;PWD=masterkey"
    ou mieux en précisant l'adresse IP du serveur:
    ADOConnect.ConnectionString = "DRIVER=Firebird/InterBase(r) driver;SERVER=192.168.1.10;DATABASE=C:\Databases\AXI_DATABASE.fdb;UID=SYSDBA;PWD=masterkey"
    Donc pour résumer: d'un côté la machine hébergeant le serveur et le(s) base(s) de données, et de l'autre les machines clientes avec l'application et le client Firebird.

    PS: Et j'insiste sur le fait que le dossier C:\Databases\ donné en exemple n'est pas censé être partagé.

    @+ Claudius

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    comme indiquer par Cl@udius, merci a toi pour ton aide.

    Donc pour résumer: d'un côté la machine hébergeant le serveur et le(s) base(s) de données faut installer le serveur Firebird et le firebird control center et ajouter la base de donnée que l'on veut dans l'onglet Alias le chemin de la base firebird et en nom d'alias j'ai indiquer le nom du poste local , et de l'autre les machines clientes faut installer le client Firebird.

    Voici le code pour ADO en Vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Set ADOConnect = New ADODB.Connection
    Set AdORecordset = New ADODB.Recordset
    ADOConnect.ConnectionString = "DRIVER=Firebird/InterBase(r) driver;SERVER=\\Ordilocal;DATABASE=\\Ordidistant\C:\PartageFDB\AXI_DATABASE.fdb;UID=SYSDBA;PWD=masterkey"
    'Ouverture de la base de données
    ADOConnect.Open
    '
    '
    ADOConnect.Close
    Mais ce n'est pas top au point de vue vitesse d'acces au donnees, et ca plante souvent avec une erreur [ODBC Firebird Driver]File Database is not found -2147217843.

  6. #6
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Non Claudius te suggère plutot ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADOConnect.ConnectionString = "DRIVER=Firebird/InterBase(r) driver;SERVER=Ordidistant;DATABASE=C:\PartageFDB\AXI_DATABASE.fdb;UID=SYSDBA;PWD=masterkey"
    Et le répertoire C:\PartageFDB\ se trouvant sur le serveur Ordidistant ne doit pas être partagé (c'est inutile sans compter que du coup les utilisateurs pourraient effacer vos bases par erreur avec le gestionnaire de fichier...)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    Apres test, et quelques correction de source et autres bidouille, c'est beaucoup mieux, encore merci a tous pour votre aide.
    Ca tourne OK

  8. #8
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    Citation Envoyé par Barbibulle Voir le message
    Et le répertoire C:\PartageFDB\ se trouvant sur le serveur Ordidistant ne doit pas être partagé (c'est inutile sans compter que du coup les utilisateurs pourraient effacer vos bases par erreur avec le gestionnaire de fichier...)
    ou même les corrompre
    mettre une base dans un répertoire partager c'est vraiment une des pires choses à faire
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/02/2010, 02h02
  2. Probleme connexion a base Firebird
    Par developpeurvb dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/05/2009, 12h06
  3. probleme connexion à la base de données!
    Par baradoss dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/09/2007, 17h19
  4. Réponses: 3
    Dernier message: 05/06/2006, 15h45
  5. Réponses: 1
    Dernier message: 25/09/2005, 16h18

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