Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/04/2011, 16h52   #1
Futur Membre du Club
 
Homme Romain
Technicien maintenance
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Romain
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
roropastis est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/04/2011, 19h58   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Peux-tu nous donner les codes exactes et les messages d'erreur exacts que tu recois pour chacun ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/04/2011, 20h25   #3
Futur Membre du Club
 
Homme Romain
Technicien maintenance
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Romain
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
Merci sabotage,
les codes utilisés sont ceux que l'on peut trouver dans les docs:

php_mssql :
Code :
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 :
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.
roropastis est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/04/2011, 20h44   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
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.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/04/2011, 21h16   #5
Futur Membre du Club
 
Homme Romain
Technicien maintenance
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Romain
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
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
roropastis est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/05/2011, 04h56   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
t'as toutes les infos dans la doc :

http://www.php.net/manual/fr/intro.mssql.php
http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2011, 11h11   #7
Futur Membre du Club
 
Homme Romain
Technicien maintenance
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Romain
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
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 :
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
roropastis est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/05/2011, 14h38   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 11h11   #9
Futur Membre du Club
 
Homme Romain
Technicien maintenance
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Romain
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
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
roropastis est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/05/2011, 11h52   #10
Futur Membre du Club
 
Homme Romain
Technicien maintenance
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Romain
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
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
roropastis est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/05/2011, 12h11   #11
Invité régulier
 
Inscription : mai 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 7
Points : 6
Points : 6
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.
euphocat est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/07/2011, 16h13   #12
Membre Expert
 
Avatar de kdmbella
 
Homme Demazy Mbella
Développeur Web
Inscription : août 2010
Messages : 619
Détails du profil
Informations personnelles :
Nom : Homme Demazy Mbella
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 : 619
Points : 1 469
Points : 1 469
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
kdmbella est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h30.


 
 
 
 
Partenaires

Hébergement Web