Prblm connexion php via EasyPhp sur base MSSQLSERVEUR2000 - PHP - Programmation
Marsh Posté le 12-07-2006 à 09:50:19
MAis c'est quoi le message d'erreur ? tu te connecte avec le compte sa ?
Marsh Posté le 12-07-2006 à 10:28:22
Bonjpur Berceker U nited
Merci de t'interresser à mon prblm !!!
Réponse à: "MAis c'est quoi le message d'erreur ?"
Je l'ai indiqué: "Warning: MS SQL: Unable to connect to server: xx.xx.xx.xx in e:\..\..\film.php on line 30"
Réponse à: "tu te connecte avec le compte sa ?"
Je l'ai indiqué: $name = "test"; $password = "xx";
Sachant que sur mon MSSQLSERVEUR2000, l'authentification en faite en session Windows et en rubrique "sécurité/connexion", j'ai bien le compte "test" qui à les droit de connexion sur ma base "Liste"
Bien à toi
Marsh Posté le 12-07-2006 à 10:48:00
ha ben c'est normal il faut dans sqlserveur indiqué qu'il est possible de se connecter via le compte windows et SQL Server. c'est normal qu'un étrangé ne peut se connecter dessus. je crois que c'est dans les propriété d'un conteneur dans ton cas c'est liste.
PS : les variables ne s'entour pas de guillemet
Marsh Posté le 12-07-2006 à 11:01:55
Re bonjour Berceker U nited
Pour info mes questions paraissent peut être basic mais je suis totalement débutant en MSSQLSERV2000 et d'autant pour ceux qui est de connecter une base en php.
Je veux rendre mon Intranet dynamique pour mettre des documents en ligne en les rempliçant avec des forulaires / checkbox et autres
Je vais regarder ce que tu m'as indiqué, et je te tiens au courant !!!
Bien à toi et merci
Marsh Posté le 12-07-2006 à 11:37:35
Re bonjour Berceker U nited
Je viens de regarder les paramétrages de MSSQLServ2000.
==>>Dans "Base de donnees" / "Liste" / dans "Proprietes", onglet "Autorisation", rubrique "Utilisateur", présence "UserSQLServ2000" avec coché "Créer table" ainsi que toutes les autres cochées.
==>>Dans "Sécurité" / "Connexion", présence de "NomDomaine\UserSQLServ2000", dans "Proprietes", onglet "Général", Authentification: Windows / Accès sécurisé: autoriser l'accès / Spécif base donnée pour connexion: "Liste"
, onglet "Rôle serveur", Systeme administrator est coché ainsi que tout les autres. onglet "Accès bases données", nom base "Liste", case à cocher "Autorisé" cochée avec utilisateur "UserSQLServ2000", ensuite "Autoriser rôle base donnees", coche "public" comme tous les autres.
Q'en penses-tu?
Bien à toi et merci d'avance
Marsh Posté le 12-07-2006 à 12:05:38
Non, désolé je me suis trompé (j'ai été voir entre temps)
En faite il faut aller dans les propriété du serveur . Donc clique droit sur ton serveur et là tu as l'onglet "sécurité" tu as le choix entre "SQL server et windows" et "Uniquement Windows". Tu sélectionnes le premier c'est à dire "SQL server et Windows".
Marsh Posté le 12-07-2006 à 12:24:10
Pour Berceker U nited
J'ai effectivement changé l'option "Uniquement Windows" en "SQL server et windows", puis j'ai redémarré les services MSSQLServ2000
J'ai testé et voici le message d'erreur que j'obtiens:
####################################
***Warning: MS SQL message: Échec de la connexion de l'utilisateur 'UserSQLServ2000'. (severity 14) in e:\xx\xx\filmtest2.php on line 16
***Warning: MS SQL: Unable to connect to server: xx.xx.xx.xx in e:\xx\xx\filmtest2.php on line 16
***Warning: mssql_select_db(): supplied argument is not a valid MS SQL-Link resource in e:\xx\xxfilmtest2.php on line 19
Mauvaise configuration!!!
####################################
C'est quoi dans le 1er mess d'erreur (severity 14)?
Bien à toi et merci encore d'avance et peu être bon app !!!
Marsh Posté le 12-07-2006 à 12:31:53
En faite d'apres ce que j'ai compris sur SQL Server c'est qu'il y a une connexion et des user associé à cette connexion. Regarde si l'utilisateur sa n'existe pas dans ce cas créé créé une connexion et tu crées un utilisateur que tu associé à cette connexion. Ou bien c'est dans l'autre sens je me rappelle plus trop.
Marsh Posté le 12-07-2006 à 14:12:50
Bonne nouvelle
J'arrive à me connecter à ma base sur mon sqlserveur mais avec le user "sa". Avec le user "UserSQLServ2000", j'ai toujours des soucis.
PAS GRAVE, je continu comme cela pour AVANCER un peu, je regarderais ce prblm de user plus tard !!!
QUESTION 1: Mais je suppose sue d'un point de vue sécurité c'est pas bien de faire cela avec "sa" ?
Maintenant, je cherche à renseigner la table de ma base, afin dans afficher son contenu, pour le script d'affichage c'est OK.
Dans un PREMIER temps: je vais renseigner en manuel càd directement sous SQLServeur sous "Base donnée" / nom base "Liste" / nom table "Film", cliq droit
"Ouvrir table - Requête". De là j'ai mes entête de colonnes "ID "Titre" "Version" "Etat" "CD", mais pour renseigner des donnes
sur chaque colonnes, jsuis un peu perdu !!!
Dans un DEUXIEME temps: je vais renseigner automatiquement via page php avec des "Textbox" "Formulaire" et "Checkbox".
Et pour cela, il va falloir que j'apprenne.
QUESTION 2: Peux-tu m'aiguillais pour savoir comment on renseigne des donnees dans les table sous SQL Serveur ?
Bien à toi et merci d'avance
Marsh Posté le 12-07-2006 à 14:19:29
Donc si je comprend bien tu veux savoir comment renseigner des données directement dans sqlserveur et via php ?
Via SqlServer.
NomDuserver->"Base De Données"->TaBaseDeDonnées->"Tables"->TaTable Click droit ->"Ouvrire une table" ->"REnvoyer toute les lignes".
Et là tu peux enregistre/modifier/supprimer une ligne. C'est pris en compte directement quand tu changes de lignes ou de colonne.
Pour enregistrer via php c'est pas plus différent que Mysql si tu sais faire la différence c'est que le préfixe des nom des fonction son différente. Exemple :
Mysql : mysql_query(...); mysql_fetch_array(...)
SQLServeur : mssql_query(...); mssql_fetch_array(...);
Marsh Posté le 12-07-2006 à 14:26:03
Cher Berceker U nited
C'est ça, tu as repondu correctement !!!
Dernière question: Par rapport, au user "sa" que j'utilise pour faire mais tests de connexion à la base de mon sql serveur 2000, d'un point de vue sécurité ou autre, l vaudrait mieux que j'utilise un autre user, en pofinant les droits, non ?????
Je te remercie de m'indiquer tout cela car effectivement je suis vraiment novice, tu m'as bien fait avancer.
Maintenant, je vais un peu me débrouiller tout seul !!!
Si tu le permets, je te garde en contact, si bien que j'ai des questions ultérieures !!!
Bien à vous et bonne fin de journée
Marsh Posté le 12-07-2006 à 14:33:44
No soucy je suis en train de dev un application qui tourne sur 3 SGBD different Mysql 4.1 , 5 et SQLServer et bientôt PostgrSQL et ceci en parallelle alors je suis dans le move actuellement .
Oui tu peux créer une utilisateur ayant des droits différents mais se basant sur la même connexion que sa
Marsh Posté le 12-07-2006 à 14:36:20
Alors là je n'y connais rien du tout .... bon dev pour ton appli
Berceker U nited, Merci à +
Marsh Posté le 09-10-2006 à 17:28:34
coucou
je ne sais pas si c'est toujours d'actualité )
mais regarde du coté de:
mssql.secure_connection mettre à ON
dans php.ini
je viens d'avoir le meme probleme...
Marsh Posté le 12-07-2006 à 09:43:12
Bonjour à tous,
Machine A:
Serveur Intranet
OS: Win 2000 serveur SP4
Logiciel: EasysPhp avec (PHP/MySQL/Apache)
Machine B:
Serveur Base donnees
OS: Win 2000 serveur SP4
Logiciel: MS SQL Serveur 2000 SP4
Config Machine A:
*fichier "PHP.ini" sous C:\WINNT avec ligne "extension sans ;"
*DLL: mssql.dll présente sous C:\Prog.File\EasyPhp\php\extensions
*DLL: ntwdblib.dll présente sous C:\winnt\system32
Config Machine B:
Services: SQL démarrés
Nom Base: Liste
Authentif Utilisateur via Windows: test
Question:
*Doit-on installer MS SQL Serveur sur meme machine que Serveur Intranet, pour interroger une base MSSQLSERVEUR2000 via le php d'EasyPHP?
*Si NON ma config est-elle bonne? Car j'ai le message d'erreur suivant: Warning: MS SQL: Unable to connect to server: xx.xx.xx.xx in e:\..\..\film.php on line 30
Script de test d'inetrrogation MS SQL Serveur:
Nom script: film.php
<?php
$server = "xx.xx.xx.xx";
$name = "test";
$password = "xx";
$base = "Liste";
$connect = mssql_connect("$server","$name","$password" ) ||die ("Connexion impossible au serveur!" );
mssql_select_db("Liste",$connect) || die ("Connexion impossible à la base de données" );
...
echo "</body></html>";
phpinfo();
?>
Merci d'avance
Bien à vous