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

PHP & Base de données Discussion :

Configurer DSN pour une base partagée


Sujet :

PHP & Base de données

  1. #1
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut Configurer DSN pour une base partagée
    Bonjour à tous ;

    voilà j'exploite une base access mis sur une poste A
    cette base j'appelle caran est mis dans :
    D:\SCGA\Donnees
    notons que le dossier SCGA et le Dossier Donnees sont partagés
    après j'ai créé une application php qui attaque cette base et il marche .

    sauf que maintenant ; je souhaiterai que les autres postes puisse bénéficier de cette application et puisse exploiter la même base
    pour cela pour chaque poste j'ai installé wampserver , et le dossier où il y a l'application php

    mais mon problème c'est au niveau de la configuration du DSN ; l'application n'arrive pas à trouver la base
    alors que dans la plupart des fichiers on peut trouver ce genre de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
      $cnx = odbc_connect( "DSN_carann", "root", "" ) or die("Impossible de se connecter à la bas de donn&eacutee") ;
    j'ai déjà essayé dans la configuration de carann
    à faire
    ODBC Administrateur -> Source de données -> configurer et sélectionner -> après en bas j'ai cliqué sur reseau après il me demande
    lecteur Z(j'ai laissé comme çà -> et le dossier je l'ai cherché poste A D:\SCGA\Donnees mais çà ne marche pas

    est ce quelqu'un aura une idée ??

    merci d'avance

  2. #2
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut
    Bonjour à tous ;

    une semaine et j'ai pas encore résolu le problème mais voilà j'ai trouvé quelques pistes, mais ce n'est pas très clair pour moi , alors si quelqu'un pourra m'aider j'en suis ravi
    en fait j'ai déjà essayé de changer le code comme suit :
    la base accès en question est partgée et il se trouve sur :
    //PC-DE-CLAUDE/Donnees/CARANN.MDB

    alors j'i modifié comme suit
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <title> Particulier  </title>
          
    
         </head>
    
         <body>
    
            
    
    
    <?php
                require ("fonctionParticulier.php");
          
    
    // permet de recuprer IDCabinet d'un client ou numero
          $idetifiantClient = $_GET['identif'];
    
    $connexion =" DRIVER=Microsoft Access Driver (*.mdb);
     DBQ=//xxx.xxx.xx.xx//Donnees/CARANN.mdb; UserCommitSync=Yes; 
     Threads=3; SafeTransactions=0; PageTimeout=5; MaxScanRows=8; 
     MaxBufferSize=2048; DriverId=281; 
     DefaultDir=C:/ProgramFiles/CommonFiles/ODBC/DataSources";
    
    
    
        //connection au serveur:
        //$cnx = odbc_connect( "DSN_carann", "root", "" ) or 
    	//die("Impossible de se connecter à la bas de donn&eacutee") ;
    	
    	$cnx = odbc_connect( "$connexion", "root", "" ) or 
    	die("Impossible de se connecter à la bas de donn&eacutee") ;
    
        $sql = "select IDCabinet from ClientClientParticulier where IDCabinet like '$idetifiantClient'";
    
          $requete = odbc_do($cnx, $sql) ;
    
    
                // affichage des données
    
           $affected =odbc_fetch_row($requete);
    
    
            if($affected!=1)
            {
                           echo "<h2 style= \" 
                                 
       
                          font-style: normal;
                          color: red;
                            text-align: center;
    
    \" > Ce num&eacute;ro n'existe pas en tant que particulier !!  </h2> <br />";
                    echo " <a class=\"lien\" href=\"Acceuil.php\">Accueil</a>";
    
            }
    
            else
    
              {
                       // si on ne met pas cette ligne , il affiche le suivant sans passer à la première valeur
                     $affected = odbc_fetch_row($requete,0);
    
             // renseignement
             $result = ParticulierRenseignement($idetifiantClient);
             // coordonnee
             Coordonnee($result);
    
             //affaire suivi par 
             Affaire($result);
    
             //Contrat($lienClientPolice,$idetifiantClient);
    
             Contrat($idetifiantClient);
    
            echo " <a class=\"lien\" href=\"Acceuil.php\">Accueil</a>";
    
              }
    
              odbc_close( $cnx); // ferme la connexion
    
                  
               
             ?>
    
    
    
     
    
    
    
           
    </body>
    
    
    
    
    </html>
    si vous avez remarqué ; au lieu d'utiliser un DSN j'ai utilisée une chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $connexion =" DRIVER=Microsoft Access Driver (*.mdb);
     DBQ=//xxx.xxx.xx.xx//Donnees/CARANN.mdb; UserCommitSync=Yes; 
     Threads=3; SafeTransactions=0; PageTimeout=5; MaxScanRows=8; 
     MaxBufferSize=2048; DriverId=281; 
     DefaultDir=C:/ProgramFiles/CommonFiles/ODBC/DataSources";
    mais çà donne toujours les mêmes erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] '(Inconnu)' n'est pas un chemin d'acc�s valide. Assurez-vous que le nom du chemin d'acc�s est correct et qu'une connexion est �tablie avec le serveur sur lequel r�side le fichier., SQL state S1009 in SQLConnect in C:\wamp\www\TestPhp\Particulier.php on line 35
    Impossible de se connecter à la bas de donnée
    merci d'avance

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2009
    Messages : 30
    Points : 32
    Points
    32
    Par défaut
    Je n'ai pas de solution à te donner pour ton problème mais un solution de contournement. Solution qui te permettra a coup sur de faire gagner du temps.

    1) Copier ta base de donnée (ici la copie appelé B.mdb)
    2) Dans mysql préalablement installer reproduire les tables de ta base de départ.
    3) Exporter les données de b.mdb vers un fichier.csv (un par table)
    4) Injecté les données dans les nouvelles tables MySqL
    5) Créer une connexion odbc driver mysql odbc 5.1
    6) Effacer les tables de b.mdb
    7) Ajouté des tables liées à b.mdb

    A partir de la tu as la possibilité de travaillé tant en web que depuis Access.
    Je trouve que cette manipulation est plus stable comme cela que par le partage que tu veux faire. Après cela reste mon avis.

Discussions similaires

  1. Quels logiciels de modélisation pour une base de données ?
    Par octopus dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 11/06/2023, 16h20
  2. [AC-2007] AccessDeveloperExtensions pour une Base partagée
    Par Pittouti dans le forum Runtime
    Réponses: 3
    Dernier message: 08/05/2012, 18h21
  3. [9iR2] Configuration de listener pour une base standby
    Par heffer69 dans le forum Oracle
    Réponses: 1
    Dernier message: 30/01/2006, 16h58
  4. Réponses: 3
    Dernier message: 12/01/2006, 18h47
  5. Créer un index pour une Base de données
    Par john7 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/01/2005, 21h43

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