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 SQLSERVER en PHP


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut Connexion SQLSERVER en PHP
    Bonjour à toutes et tous,

    Je suis nouveau sur le forum

    Le sujet qui m’amène est le suivant :

    J'ai développé une application .net ( C# sous Visual Studio 2010 ) avec un base SQLSERVER. Cette application a été installée sur IIS 5.1 sous XP PRO. Pour des besoins d'affichage sur mon téléphoné AndroiD j'aimerai pouvoir accéder a ces données par PHP ( Serveur WAMP) .

    J'ai ressui à installer les Drivers SQLSRV20 sur WAMP.

    J'ai développé une page PHP de connexion a la base
    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
    $serverName = "ma_machine\SQLEXPRESS";
    $connectionInfo = array( "Database"=>"C:\Inetpub\wwwroot\mon_appli\App_Data\ma_base.mdf", "UID"=>"mon_user", "PWD"=>"mon_motedepasse");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    if( $conn === false )
    {
       echo "connexion impossible.</br>";
       die( print_r( sqlsrv_errors(), true));
    }
    else
    {
    	echo('Connecté');
    }
     
    ?>
    Il me semble que j'arrive bien a accéder au serveur mais que je n'arrive pas a me connecter
    connexion impossible.
    Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] =>
    [Microsoft][SQL Server Native Client 10.0][SQL Server]Échec de l'ouverture de session de l'utilisateur 'mon_user'. [message] =>
    [Microsoft][SQL Server Native Client 10.0][SQL Server]Échec de l'ouverture de session de l'utilisateur 'mon_user'. )
    [1] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] =>
    [Microsoft][SQL Server Native Client 10.0][SQL Server]Échec de l'ouverture de session de l'utilisateur 'mon_user'. [message] =>
    [Microsoft][SQL Server Native Client 10.0][SQL Server]Échec de l'ouverture de session de l'utilisateur 'mon_user'. ) )
    Les diverses recherches que j'ai pu faire indique que mon_user n'est pas autorisé.

    mon_user est il le bon UID à utiliser ?
    Si oui que faut-il faire pour l'autoriser?
    Si non quel UID et PWD faut-il utiliser ?

    Je vous remercie par avance de l’intérêt que vous porterez à ma sollicitation.

    Bien cordialement

  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
    Tu devrais utiliser sqldrv30
    Essaie comme ça aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $serverName = "ma_machine\\SQLEXPRESS";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    Salut sabotage,

    Merci pour ta réponse.

    tu me dis "Tu devrais utiliser sqldrv30" je suppose que tu voulais dire sqlsrv30.

    J'ai essaye "$serverName = "ma_machine\\SQLEXPRESS"; "

    ça ne change pas le résultat : même erreur .

    J'ai aussi essayer de doubler le "\" dans le chemin vers ma base . même Erreur.

    je m'en vais essayé sqlsrv30, et te tiens au courant du résultat

    Merci pour ton aide.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    Reboujour sabotage,

    Comme tu me l'as conseillé j'ai essayé SQLSVR30, Il semble que ce ne soit pas la version que je doive utiliser en effet en activant ces DRIVERS j'ai le message d'erreur

    Fatal error: Call to undefined function sqlsrv_connect() in C:\wamp\www\TESQLSRV\test.php on line 18
    Cela tend a prouver que ce ne soit pas la version de driver a utiliser.

    Avec le SQLSRV20, J'ai un message d'erreur (voir mon premier message ) indiquant que le User n'est pas reconnu. Ceci semble indiquer que j'ai bien trouvé la fonction sqlsrv_connect().

    Le problème reste

    Cordialement.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    Je continue mes recherches sur le Net et je suis tombé sur ce Blog

    http://robsphp.blogspot.fr/2012/09/h...ql-server.html

    J'y ai trouvé que :

    comme je suis sous Windows ==> en "Thread Safety enabled"
    et comme je suis PHP 5.2.9-1

    La DLL php_sqlsrv_52_ts_vc6.dll de SQLSRV20 est celle dont je doit me servir . Cela semble cohérent avec mes premiers tests

    Il ne me reste donc plus qu'a déterminer UID et PWD à utiliser pour me connecter.

    Si vous pouvez m'aider, je vous en remercie d'avance.

  6. #6
    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
    Je ne pense pas que le problème vienne de la version, c'était plutôt un constat sur l'utilisation d'éléments récents. C'est valable pour PHP : si tu n'as pas de raison d'utiliser une vieille version, mets à jour

    Tu arrives à te connecter avec management studio ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    rebonjour sabotage,

    J'ai suivi tes recommandations :
    Mise a niveau de WAMPSERVER 2.2 : Apache 2.2.22, PHP 5.4.3, MYSQL 5.5.24. J'ai toujours une erreur mais différente : voit pj resultat2.txt

    J'ai suivi le lien indiqué : je suis tombé sur le page de téléchargement de SQLSRV20 et SQLSRV30 ==> impasse

    Je n'ai pas management studio ( je suis sous visual studio 2010 et donc sqlserver express 2008)

    J'ai essayé donc de l'installer management Studio ==> erreur

    ==> impasse de nouveau.

    je continue mes investigations mais j'ai l'impression que ça sent le sapin cet affaire.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  8. #8
    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
    Comme indiqué sur le lien, il te faut ça :
    http://www.microsoft.com/en-us/downl....aspx?id=29065
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    Merci pour ta ténacité ,

    je me sens moi seul sur le résolution de cas.

    Mais comme je le préssentais lors de mon précédent message, Cette voix de solution arrive dans une impasse. en effet pour implémenter le Microsoft® SQL Server® 2012 SP1 Feature Pack

    les prérequis sont :

    Systèmes d’exploitation pris en charge : Windows 7; Windows 8; Windows Server 2003 Service Pack 2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Vista Service Pack 2

    et malheureusement mon serveur est XP.

    A moins que tu n'aies une autre idée, je pense que je vais restaurer mon serveur avant migration, et continuer à creuser sur cette Voix.

    Je garde mon serveur upgradé sous le coude : prêt à le redémarrer.

    Bien cordialement.

  10. #10
    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
    Tu essaies de te connecter avec un compte local à ton poste windows XP ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    A priori Oui,

    Mais j'essaye un peu tous les users que j'ai trouvé dans XP et IIS.

    Pent-être d'ailleurs utilisé le bon user mais quel mot de passe ?

    En cresuant les liens que tu m'as envoye lors de ton précedent message il est dit sur la page http://msdn.microsoft.com/en-us/library/cc296170.aspx
    que je dois installer sqlncli.msi

    sur ma version du Wamp avant migration.

    Des mon retour chez moi ce soir, j'essai et te tiens au courant.

    @+

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    Voila c'est installé.

    il s’agissait de SQLServer 2008 R2 Native Client

    Mais rien de mieux.

    si tu as d'autres pistes, je reste ton l'écoute . Pour ma part, j'ai tenté toutes les solutions auxquels j'ai pu accéder.

    Je vais continuer à écumer toutes les pages du net sur le sujet

    à très vite, j’espère.

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    Bonsoir,

    Une question me taraude depuis quelques heures. La version de SQLSERVER que j'ai utilisé pour la création est celle intégrée à VISUAL STUDIO.( SQL SERVER COMPACT 3.5 je crois) .

    Par la suite j'ai mis sous le contrôle de IIS Les fichiers .MDF créés.

    Une des hypothèses qui pourrait expliquer les erreurs que j'ai, est que pour accéder aux données les "drivers PHP SQLSERVER" nécessiteraient une Version complète ou Express de SQLSERVER.

    Je n'ai pu valider cette hypothèse sur Internet. Quelqu’un possède-t-il cette information.

    D'avance merci.

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut Ca sent bon:
    Bonjour,

    J'ai enfin une solution. voir même deux.

    Avec l’extension extension=php_sqlsrv_52_ts_vc6.dll de SQLSRV20, je me suis connecté à la base sqlserver soit directement par sqlsrv_connect ou pas l'intermédaire de odbc_connect et un DSN ODBC. Et j'ai réussi à lire celle-ci

    Peut-être un peu long pour expliquer tous les détails. Mais si quelqu'un a des questions. ne pas hésiter à me contacter.

    Cordialement

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut
    Rebonjour,

    Il me reste encore un soucis que je n'ai pas réglé et pour lequel je fais appel à vous.

    Quand je lis les données en PHP comme décrit ci-dessus. Puis que j'utilise ces mêmes données pas mon application .NET sous IIS : Tout se passe bien.

    Quand je fait l'inverse : accéder aux données pas l'application .NET sous IIS. ça fonctionne mais ensuite impossible de lire ces données par PHP : que ce soit directement ou par l'intermédiaire d'ODBC.

    le message d'erreur ODBC
    Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][SQL Server Native Client 10.0][SQL Server]Impossible d'ouvrir le fichier physique "C:\Inetpub\wwwroot\Bdd_Incidents\App_Data\BDD Incidents.mdf". Erreur du système d'exploitation 32 : "32(Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus.)"., SQL state 37000 in SQLConnect in C:\wamp\www\TESQLSRV\testodbc.php on line 5
    connexion impossible.
    le message en connexion directe
    Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Échec de l'ouverture de session de l'utilisateur 'AUTORITE NT\SYSTEM'.
    Indiquent tous les deux que IIS ou un des composant intervenant lors de l'utilisation de mon application .NET a posé un verrou interdisant l’accès à cette base par PHP.

    je n'ai d'autre solution que de redémarrer ma machine pour retrouver l’accès par PHP.

    je vous remercie par avance

  16. #16
    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
    J'ai tout installé pour faire le test et je me connecte et accède aux données simplement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $serverName = "MONPC\SQLEXPRESS";
    $connectionOptions = array("Database"=>"test");
    $conn = sqlsrv_connect( $serverName, $connectionOptions);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet Gros systeme En retraite
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet Gros systeme En retraite
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 36
    Points
    36
    Par défaut D'accord avec toi...
    salut Sabotage.

    Tout d'abord, je te remercie de l'attention que tu m'accordes et du temps que tu as pu passer pour reproduire le même cas que le mien.

    Je suis entièrement d'accord avec toi. J'ai mis en œuvre ta solution et aussi celle basée sur ODBC. La connexion se passe bien. Une requête me permet aussi de récupérer les données . Tout se passe bien jusqu'au moment ou je mets a jour ces données par mon appli .net.Et si ensuite, je relance la connexion elle se termine avec erreur. C'est ce que je décrit dans mes deux derniers messages.

    De ton coté, as-tu simplement testé la connexion? Ou as-tu suivi le même processus que le mien : Lecture après maj par un appli .net sous IIS ?

    Cordialement.

Discussions similaires

  1. [SQL-Server] Probleme connexion SqlServer php (Connexion distante)
    Par haninos dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/03/2010, 15h06
  2. Connexion à Firebird avec PHP
    Par genova dans le forum Connexion aux bases de données
    Réponses: 7
    Dernier message: 12/09/2006, 18h48
  3. comment faire la connexion (SQLServer) avec server MSDE(LAN)
    Par BRAHIMI MOUSSA dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/01/2006, 14h45
  4. connexion à Postgresql par PHP
    Par toome dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 02/09/2005, 11h49
  5. Connexion Firebird en PHP+DELPHI
    Par nicotin dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 18/01/2005, 20h34

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