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 :

connexion MS SQL 2005 et php impossible


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 16
    Points
    16
    Par défaut connexion MS SQL 2005 et php impossible
    Bonjour à tous,
    Je me suis lancé dans le php pour créer un site intranet connecté à une base de données SQL 2005.
    J'ai déjà essayé le driver de Microsoft (php_sqlsrv), aussi essayé une connexion via le simple php_mssql mais impossible de me connecter.

    J'explique:

    Mon serveur sql est sur le même réseau local que mon pc client, j'utilise Wamp pour exécuter mes scripts php et j'ai toujours un message d'erreur disant que le serveur sql n'existe pas.

    Je réussi à accéder a ma base de données via excel, database explorer ou encore sql-view. ces logiciels utilisent une connexion ODBC que j'ai aussi essayé via php_odbc mais rien n'y fait.
    Est ce que le problème viendrait pas du fait que je tente d’accéder à la base de donnée via mon serveur Apache et donc le serveur n'arrive pas a identifier la requête comme venant d'un pc reconnu sur le réseau?
    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Peux-tu nous donner les codes exactes et les messages d'erreur exacts que tu recois pour chacun ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 16
    Points
    16
    Par défaut
    Merci sabotage,
    les codes utilisés sont ceux que l'on peut trouver dans les docs:

    php_mssql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    // Le serveur est au format : <hôte>\<nom d'instance> ou
    // <serveur>,<port> quand on utilise un port différent de celui par défaut
    $server = 'Serveur\instance';
     
    // Connexion à MSSQL
    $link = mssql_connect($server, '', '');
     
    if(!$link) {
        die('Erreur de connexion à MSSQL');
    }
    ?>
    J'obtiens une erreur disant que la base de donnée est inexistante ou l'accés est restreint (je ne peux pas donner le message exact je ne suis pas sur le pc en question).

    avec adodb5 pour php :

    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
    <?php
    include('adodb.inc.php'); 
    ADOLoadCode("ado_mssql");
    $db = &ADONewConnection("ado_mssql");
    print "<h1>Connecting DSN-less $db->databaseType...</h1>";
     
    $myDSN="PROVIDER=MSDASQL;DRIVER={SQL Server};"
    	. "SERVER=flipper;DATABASE=ai;UID=sa;PWD=;"  ;
    $db->Connect($myDSN);
     
     
    $rs = $db->Execute("select * from table");
    $arr = $rs->GetArray();
    print_r($arr);
    ?>
    La je n'obtiens rien du tout, pas d'erreur mais pas de résultat de requête.
    Bien sur je prends bien soin de changer les paramétrés afin qu'ils coïncident avec ma base de donnée.
    Pourtant le DSN est bien crée avec le driver sql server.
    Il doit y avoir quelque chose que j'ai raté.
    Un truc que je ne comprends pas c'est qu'avec database browser tout est nickel, mes tests de DSN aussi et en php plus rien.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    mssql est une extension obsolète, il vaut mieux utiliser sqldrv ou odbc.
    Tu ne mets pas de login/pass ? Si tu te connectes avec sql manager en prenant l'authentification windows, ça ne doit par contre pas fonctionner avec PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 16
    Points
    16
    Par défaut
    sqlserver est il compatible avec sql 2005? dois je télécharger native client 2005 ou 2008 R2?
    Tu penses que le problème viendrait du login et du mot de passe? il n'est pas possible d'utiliser la connexion via php et l'authentification windows?
    Comment pourrais-je faire? A moins que j'utilise le nom de mon ordinateur sur le reseau et le mot de passe associé.
    Merci

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726

  7. #7
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 16
    Points
    16
    Par défaut
    Merci stealth35,
    Je vais essayer cela demain au boulot.
    Par contre j'avais oublier de préciser que sur le pc que j'utilise il y a IIS version 5, il me semble que je peux installer php la dessus, non?
    IIS est présent pour exécuter un petit site propriétaire en ASP qui accéde aussi à la même base de donnée.
    En regardant les paramètres de connexions je trouve ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%
    Dim Conn
    Dim ConnString
     
    Set conn = Server.CreateObject("ADODB.Connection")
    ConnString = "driver={SQL Server};server="&SQLServeurName&";uid="&SQLServeurUser&"; pwd="&SQLServeurPassword&"; database=test"
    ConnMas.open ConnString
    %>
    Est ce que je peux exploiter le même mode de connexion c'est a dire ADODB ou bien SQLSRV est-il la meilleure solution?
    Merci

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    le meme code non, mais tu peu le transposer en PHP, pour IIS c'est aussi dans la doc :
    http://www.php.net/manual/fr/install.windows.php



    sinon je dirai que SQLSRV est une meilleur solution pour SQLServer, mais si tout ton code est fait avec ODBC, reste sous ODBC

    a toi de voir, normalement si le code est bien fait, tu pourras switcher de ODBC a sqlsrv en changement juste le dsn

  9. #9
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 16
    Points
    16
    Par défaut
    Merci stealth35,
    J'ai reussi a installer PHP sur IIS 5.1 en suivant les instructions.J'arrive enfin a communiquer et à afficher mes resultats sur une page web.
    Par contre petit problème, j'arrive a tout faire sur le pc contenant le serveur IIS par contre en essayant d'acceder via un autre pc de mon réseau, j'arrive a lire les infos PHP par contre des que je lance une connexion sql j'obtiens un message d'erreur impossible de se connecter au server mssql.
    Normalement les requetes s'executent via le serveur IIS non? pourquoi sur d'autres pc j'obtiens cette erreur?
    Merci

  10. #10
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 16
    Points
    16
    Par défaut
    Bonjour,
    J'ai toujours pas réglé mon problème d’exécution via un autre pc, j'ai pourtant bien vérifier les paramétres de sécurité de mon serveur IIS et ils sont sur authentification windows, pareil pour mon navigateur web sur le pc client," utiliser l'authentification windows"
    Peut être devrais-je utiliser ODBC pour me connecter et declarer mon dsn sur chaque client?
    Merci d'avance

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    hello, je te conseille de te pencher sur PDO avec ODBC => http://php.net/manual/fr/ref.pdo-odbc.connection.php

    J'avais eu le même genre de soucis que toi, et si mes souvenirs sont bon ce moyen de connexion marchait pas mal.

  12. #12
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    je pense que ce lien devrait t'être très utile pour la résolution de ton problème:

    http://www.developpez.net/forums/d10...-mssql-2008-a/

    bon courage
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

Discussions similaires

  1. [SQL-Server] connexion SQL Server 2005 avec PHP
    Par JeffPalmier dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/07/2011, 17h12
  2. [SQL-Server] Connexion SQL Server 2005 via PHP
    Par zemeckis dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/02/2009, 14h58
  3. connexion avec sql server 2005 impossible
    Par samir_64 dans le forum Administration
    Réponses: 1
    Dernier message: 09/06/2008, 22h04
  4. Réponses: 2
    Dernier message: 16/01/2008, 17h23
  5. [SQL 2005] Backup à "chaud" impossible
    Par Jérôme Lambert dans le forum Administration
    Réponses: 2
    Dernier message: 30/10/2006, 11h32

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