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

Interfaces de programmation Oracle Discussion :

[OCILIB] Problème connection


Sujet :

Interfaces de programmation Oracle

  1. #1
    Membre du Club Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 58
    Points
    58
    Par défaut [OCILIB] Problème connection
    Salut à tous.

    Je développe un programme avec OCILIB. La base de données sur laquelle je doit me connecter est sur un autre PC. J'arrive à faire un ping sur ce PC mais je n'arrive pas à me connecter à la base de données via OCILIB.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT) == FALSE){
    		printf("Probleme d'initialisation\n");
    	}else{
    		printf("Initialisation OK\n");
    		cn = OCI_CreateConnection("CHU", "admin", "admin", OCI_SESSION_DEFAULT);
    		if (cn == NULL){
    			printf("Probleme connection");
    		}else{
    ........
    L'initialisation se passe bien mais pas de connection.

    Merci de regarder si vous pouvez faire quelquechose pour moi.
    Pensez à utiliser

    est ton ami

    La France c'est l'Auvergne avec un petit peu de terre autour !!!

  2. #2
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut
    c'est quoi le type d'erreur que vous avaz ????
    "La créativité est faites d'attention et de respect pour les petits faits de la vie."

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Bonjour,


    Tu peux commencer par fournir un error handler à OCI_Initialize() afin de connaître l'erreur Oracle.

    Surement un soucis de configuration du tnsnames sur ta machine, ou de listener sur l'autre machine ou de firewall au milieu...

    L'error handler te fournira la raison !!
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Membre du Club Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 58
    Points
    58
    Par défaut
    Dans le fichier généré grace à OCI_GetVersionServer() j'ai ça :

    Fatal NI connect error 12560, connecting to:
    (DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleORCL)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=c:\Users\SlayerSexe\Documents\Visual Studio 2005\Projects\GTK+\debug\GTK+.exe)(HOST=PORTABLE)(USER=SlayerSexe))))

    VERSION INFORMATION:
    TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
    Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 9.2.0.1.0 - Production
    Time: 27-MAI-2008 11:30:37
    Tracing not turned on.
    Tns error struct:
    nr err code: 0
    ns main err code: 12560
    TNS-12560: TNS : erreur d'adaptateur de protocole
    ns secondary err code: 0
    nt main err code: 530
    TNS-00530: Erreur d'adaptateur de protocole
    nt secondary err code: 126
    nt OS err code: 0
    Pensez à utiliser

    est ton ami

    La France c'est l'Auvergne avec un petit peu de terre autour !!!

  5. #5
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Citation Envoyé par LeBelge63 Voir le message
    Dans le fichier généré grace à OCI_GetVersionServer() j'ai ça :

    Fatal NI connect error 12560, connecting to:
    (DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleORCL)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=c:\Users\SlayerSexe\Documents\Visual Studio 2005\Projects\GTK+\debug\GTK+.exe)(HOST=PORTABLE)(USER=SlayerSexe))))

    VERSION INFORMATION:
    TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
    Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 9.2.0.1.0 - Production
    Time: 27-MAI-2008 11:30:37
    Tracing not turned on.
    Tns error struct:
    nr err code: 0
    ns main err code: 12560
    TNS-12560: TNS : erreur d'adaptateur de protocole
    ns secondary err code: 0
    nt main err code: 530
    TNS-00530: Erreur d'adaptateur de protocole
    nt secondary err code: 126
    nt OS err code: 0

    ????????????

    Le contenu que tu postes vient d'un sqlnet.ora généré par Oracle directement....et pas par OCILIB et surtout pas par OCI_GetVersionServer()... Hum....

    Ton erreur est donc : TNS-12560: TNS : erreur d'adaptateur de protocole

    Quel est le contenu de ton tnsnames.ora ?
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  6. #6
    Membre du Club Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 58
    Points
    58
    Par défaut
    Le contenu de mon tnsnames.ora est :

    # This is a sample tnsnames.ora that contains the NET8 parameters that are
    # needed to connect to an ODBC Agent

    #hsodbc = (DESCRIPTION=
    # (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
    # (CONNECT_DATA=(SID=hsodbc))
    # (HS=)
    # )
    Pensez à utiliser

    est ton ami

    La France c'est l'Auvergne avec un petit peu de terre autour !!!

  7. #7
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Ton tnsnames contient une seule entrée pour une base en local !!

    Il n'y a pas d'entrée pour la base qui est sur "l'autre PC"...

    Donc, soit tu configures une entrée pour l'autre base ton ton tnsnames, soit tu fournis une chaine de connection "easy connect" à OCI_ConnectionCreate() sous la forme server:port/servicename

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OCI_ConnectionCreate("server:1521/orcl", "user", "pass", OCI_SESSION_DEFAULT);
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  8. #8
    Membre du Club Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 58
    Points
    58
    Par défaut
    Ce tsname a été prit sur le pc qui contient la base de données. Est ce que je devrais en avoir un aussi sur le pc qui doit se connecter car je n'en ai pas.
    Pensez à utiliser

    est ton ami

    La France c'est l'Auvergne avec un petit peu de terre autour !!!

  9. #9
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Citation Envoyé par LeBelge63 Voir le message
    Est ce que je devrais en avoir un aussi sur le pc qui doit se connecter car je n'en ai pas.
    Oui ou alors tu utilises la solution "easy connect" que je t'ai indiqué !
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  10. #10
    Membre du Club Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 58
    Points
    58
    Par défaut
    La solution "easy connect" ne fonctionne pas.

    Comment faire pour retrouver ce tsname sur le pc qui doit se connecter?

    La base de données est en version 8 est j'ai un client version 9. Est ce que cela peut jouer un rôle?
    Pensez à utiliser

    est ton ami

    La France c'est l'Auvergne avec un petit peu de terre autour !!!

  11. #11
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    la solution esay connect doit fonctionner..

    Si ca marche pas, c'est que tu fournis de mauvais infos... Tu mets quoi comme params ?

    Sinon, pour le tnsnames, sur ta machine, tu dois avoir dans ton répertoire Oracle Home, le répertoire suivant network/admin.

    Dedans si tu as un tsnames.ora, tu rajoute l'entrée (copie coller de l'autre en modifiant les paramètres comme il faut) sinon tu le crée et rajoute l'entrée

    Exemple de d'entrée de tnsnames :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TOTO=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = TOTO)
        )
      )
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  12. #12
    Membre du Club Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 58
    Points
    58
    Par défaut
    C'est bon ça fonctionne. J' ai ajouté cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHU		 =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.200.199 )(PORT=1521)))(CONNECT_DATA=(SID=CHU        )))
    Merci beaucoup pour ton aide Vicenzo
    Pensez à utiliser

    est ton ami

    La France c'est l'Auvergne avec un petit peu de terre autour !!!

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

Discussions similaires

  1. [OCILIB] Problème de connection à la base Oracle
    Par qiqi1111 dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 19/12/2008, 10h15
  2. Problème Connection Jbuilder avec MS SQL Server 2000
    Par kchami77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2006, 23h29
  3. [BO5.1][oracle8.17] problème connection
    Par ggnore dans le forum Connexions aux bases de données
    Réponses: 10
    Dernier message: 15/11/2005, 10h38
  4. Problème connection base
    Par krfa1 dans le forum ASP
    Réponses: 5
    Dernier message: 15/09/2005, 15h58
  5. [VS.NET] Problème connection Source safe
    Par Nip dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 24/06/2004, 15h30

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