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

InterBase Discussion :

Connexion Interbase 6 à Partir de bcb 6.0


Sujet :

InterBase

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Connexion Interbase 6 à Partir de bcb 6.0
    Bonjour;

    J'utilise un code d'interface avec Interbase, qui utilise GDS32
    Il marchait jusqu'a recemment, et je n'arrive plus a le faire marcher. je donne d'abord les déclarations:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <vector>
    #include <stdio.h>
    #include <sstream>
    #include "ibase.h"
    #include "InterbaseManager.h"
    #include "event.h"
    TSQLConnection *           m_pTSQLConnection;
    TSQLQuery *                m_pTSQLQuery;
    puis le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if (m_pTSQLConnection->ConnectionState == csStateClosed)
          {
            try
            {
              m_pTSQLConnection->Connected = true;
            }
            catch(EDatabaseError &exception)
            {
              ErrorCode  |= objStrConv.CreateReturnCode(TYPE_ERROR,MSG_CANT_CONNECT_DATABASE,MODULE_ID_DBMS_MANAGER,
                               DBMS_CINTERBASE_MANAGER,CONNECT_DATABASE,
                               ERROR_CANT_CONNECT_DATABASE );
            }
          }
    J'ai fait quelques évolutions qui ont arrangé le code un temps
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
          if (m_pTSQLConnection->ConnectionState == csStateClosed)
          {
            try
            {
              if( m_pTSQLConnection->Connected == false)
              {
                 m_pTSQLConnection->ConnectionState == csStateOpen;
                 m_pTSQLConnection->Connected = true;
                 bIsConnected = true;
                 ErrorCode = 0;
              }
            }catch(EDatabaseError &exception)
            {
              ErrorCode  |= objStrConv.CreateReturnCode(TYPE_ERROR,MSG_CANT_CONNECT_DATABASE,MODULE_ID_DBMS_MANAGER,
                               DBMS_CINTERBASE_MANAGER,CONNECT_DATABASE,
                               ERROR_CANT_CONNECT_DATABASE );
            }
          }
    et maintenant ça ne marche de nouveau plus. Le message d'erreur est "Opérations de pointeur incorrect". On est dans le code Borland et quand on essaie de forcer la valeur avec le debugger, bcb se plante.
    Si quelqu'un a un code de connexion à Interbase qui marche je serai heureux de le voir

  2. #2
    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
    va voir IBPP
    http://www.ibpp.org/
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  3. #3
    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
    ps pourquoi utiliser cette vieille version bugguée qu'est Interbase 6 ?
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  4. #4
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Interbase 6
    Parceque nous avons la licence pour cette version et pas les suivantes

  5. #5
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut ibpp
    Ce semble être un bon conseil. Je fini de l'implémenter et je rends compte.
    En attendant, Merci

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par JeanNoel53 Voir le message
    Parceque nous avons la licence pour cette version et pas les suivantes
    ce n'est pas une raison , puisqu'il suffit de passer sous Firebird
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut
    Comment se procure t'on Firebird?

    En open source sur le web

    Et comment charger un fichier de script de création de table de 45 KO qui marchait avec Interbase

  8. #8
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Utilisation de IBPP
    Bonjour,

    Suite au conseil reçu j'ai téléchargé la version de IBPP et j'ai regardé un peu:

    Bilan de la manœuvre une journée de travail pour réécrire mon module d'accès a Interbase sur les concepts de IBPP.

    Depuis je butte sur le connect() qui suit le DatabaseFactory avec 4 paramètres:
    host = "localhost"
    Database = "E:\\Program Files\\Borland\\Interbase\\bin\\COHERENCE.mdb"
    username = "SYSDBA"
    password = "masterkey"

    le connect me jette avec un message Windows SqlExceptionImpl adresse de l'objet 0x2FD23EE
    et je me retrouve dans le code de ibpp dans le module Database.cpp
    dans l'exception SqlExceptionImpl avec le commentaire Database connect, isc_attach_database failed
    Comment avancer... aidez moi ce serait

  9. #9
    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
    Interbase est livré avec une doc sur son Api
    la lire

    et BCB 6.0 n'est pas livré avec des composants pour Interbase ?

    sinon une connexion une base c'est par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        isc_db_handle           DB = NULL;                  /* database handle */
        ISC_STATUS_ARRAY        status;                     /* status vector */
        char                    empdb[128];
        isc_attach_database(status, 0, empdb, &DB, 0, NULL);
    évidemment à affiner ensuite
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  10. #10
    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 JeanNoel53 Voir le message
    Comment se procure t'on Firebird?

    En open source sur le web

    Et comment charger un fichier de script de création de table de 45 KO qui marchait avec Interbase
    le script de création devrait passer sans modif
    et Firebird c'est là : www.firebirdsql.org
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  11. #11
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Sur le script
    Je n'ai trouvé q'un logiciel iSQL qui n'avait pas d'option de chargement de script????

  12. #12
    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
    he ho !

    je te laisse deviner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    usage:    isql [options] [<database>]
            -a(ll)                  extract metadata incl. legacy non-SQL tables
            -b(ail)                 bail on errors (set bail on)
            -c(ache) <num>          number of cache buffers
            -ch(arset) <charset>    connection charset (set names)
            -d(atabase) <database>  database name to put in script creation
            -f(etch_password)       fetch password from file
            -e(cho)                 echo commands (set echo on)
            -ex(tract)              extract metadata
            -i(nput) <file>         input file (set input)
            -m(erge)                merge standard error
            -m2                     merge diagnostic
            -n(oautocommit)         no autocommit DDL (set autoddl off)
            -nod(btriggers)         do not run database triggers
            -now(arnings)           do not show warnings
            -o(utput) <file>        output file (set output)
            -pag(elength) <size>    page length
            -p(assword) <password>  connection password
            -q(uiet)                do not show the message "Use CONNECT..."
            -r(ole) <role>          role name
            -r2 <role>              role (uses quoted identifier)
            -s(qldialect) <dialect> SQL dialect (set sql dialect)
            -t(erminator) <term>    command terminator (set term)
            -tr(usted)              use Windows trusted authentication
            -u(ser) <user>          user name
            -x                      extract metadata
            -z                      show program and server version
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  13. #13
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut isql
    Merci

  14. #14
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Connexion à Interbase à partir de bcb
    Bonsoir
    Suite au nombreux échanges de cette discussion, je rend compte de la solution que j'ai implémenté avec succès.
    Il semble que le isc_Attach_database soit très sensibles aux paramètre. la suite de code qui suit donne un status correct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
              isc_db_handle db1;
              ISC_STATUS status_vector[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
              char * s;
              db1 = 0L;
              dpb = new char[50];
              dpb_length=0;
              s = objStrConv.awcstombs( (wchar_t*)wsDatabaseName.c_str());
              isc_expand_dpb(&dpb,&dpb_length,isc_dpb_user_name,m_pTSQLConnection->Params->Values["User_Name"],
                             isc_dpb_password,m_pTSQLConnection->Params->Values["Password"],NULL);
              // Connection to the database
              isc_attach_database( status_vector, strlen(s), s, &db1, dpb_length , dpb);
              objStrConv.StrFreeA( s);
              if( status_vector[0] == 1 && status_vector[1])
              {
                 ErrorCode = -1;
                 return ErrorCode;
              }
              //m_pTSQLConnection->Connected = true;
              bIsConnected = true;
    Le status de retour avec ces paramètres est OK

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

Discussions similaires

  1. Connexion EM a Partir d'un client oracle
    Par james_usus dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 07/09/2007, 16h50
  2. [TP] Connexion à Interbase
    Par jimmy2cv dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 08/06/2007, 14h26
  3. Connexion interbase avec vb.net
    Par ffrancky dans le forum InterBase
    Réponses: 1
    Dernier message: 04/10/2005, 17h56
  4. connexion Interbase avec Delphi perso
    Par ptitdragon_eric dans le forum Bases de données
    Réponses: 5
    Dernier message: 16/09/2005, 14h01
  5. Erreur de connexion INTERBASE 6.0 / WIN2000SERVER
    Par Thierry Laborde dans le forum InterBase
    Réponses: 3
    Dernier message: 09/08/2005, 02h30

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