cs_leo666
Messages postés14Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention 1 février 2008
-
31 janv. 2008 à 16:13
cs_leo666
Messages postés14Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention 1 février 2008
-
1 févr. 2008 à 09:03
Bonjour à tous,
Je suis en train de developper une application utilisant une base de données MS SQL Server 2005 express.
J'ai essayer plusieurs type de connection et j'ai tj le mm pb.
Prenons l'exemple des pilotes PDO pour mssql
1) j'ai activé les extension dll :
extension=php_pdo.dll
extension=php_pdo_mssql.dll
en vérifiant avec phpinfo, elle sont active
2) j'ai changer le fichier dll defaillant "ntwdblib.dll"
3)jme me connecte en "sa"
Mon probleme est que les requetes sur ma base ne fonctionnent pas.
J'arrive a me connecter a la base en interne, mais rien d'autre. Voici mon code:
$PARAM_hote='LEO-02\SQLEXPRESS';
$PARAM_nom_bd='HC';
$PARAM_utilisateur="sa";
$PARAM_mot_passe="a";
try{
$connexion = new PDO("mssql:host=".$PARAM_hote.";dbname=".$PARAM_nom_bd.";", $PARAM_utilisateur, $PARAM_mot_passe);
if($connexion)print("Connexion OK
");
}
try{
$resultats=$connexion->query("SELECT id FROM alltransaction;");
if($resultats){
print("Requete effectuee
");
$res = $resultats->setFetchMode(PDO_FETCH_NUM);
}
else print("Aucun resultat pour la requete");
}
catch(PDOException $e){
echo "Erreur1";
}
Voici le resultat :
Connexion OK
Aucun resultat pour la requete
Pourtant, la table contient des donnees, par exemple en ligne de commande :
C:\Documents and Settings\Leo\Mes documents\SQLServer\SQLServer>osql -S LEO-02\S
QLEXPRESS -U "sa" -P "a" -Q "select id from alltransaction;"
id
-----------
1
2
3
4
5
6
7
8
Si quelqu'un a une solution, je commence a désesperer.
Merci d'avance.
cs_leo666
Messages postés14Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention 1 février 2008 31 janv. 2008 à 17:00
Bon, apparement le pb est résolu. En fait, mm si il y a une base HC de cree. Il ne faut pas mettre dbname=:
connexion = new PDO("mssql:host=".$PARAM_hote.";", $PARAM_utilisateur, $PARAM_mot_passe);
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 31 janv. 2008 à 20:10
Hello,
ce doit être dû à mssql 2005 express, parce que je vois mal comment on peut se connecter et faire des requêtre sur un serveur de bdd sans préciser quelle base on attaque...je ne connais pas mssql 2005 express, je ne bosse qu'avec la version pro.
Ceci dit, tu as essayé de virer le dernier point virgule? Parce qu'il est en trop à mon sens :
new PDO('mssql:host=blabla;dbname=madb', $user, $pwd)
cs_leo666
Messages postés14Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention 1 février 2008 1 févr. 2008 à 09:03
En fait, le server execute instruction par intruction. Soit on fini une intruction par un point virgule pour dire que l'instruction courante est terminée et on peut continuer, soit la suite d'intruction est terminé (donc on ne met rien), s'est comme pour les requête SQL.
Bref, ca donne le même résultat.