Bonjour,
J'ai cherché sur le forum et je n'arrive pas à trouver un tuto sur comment faire pour relier ma bdd php à sql server.
En existe t-il un ?
Si oui pouvez vous me donner le lien vers celui-ci ?
merci d'avance !
Version imprimable
Bonjour,
J'ai cherché sur le forum et je n'arrive pas à trouver un tuto sur comment faire pour relier ma bdd php à sql server.
En existe t-il un ?
Si oui pouvez vous me donner le lien vers celui-ci ?
merci d'avance !
Ton message n'est pas vraiment clair.
Tu veux utiliser phpmyadmin avec sql server ? ce n'est pas possible, c'est un outil prévu pour mysql.
J'aimerai relier ma bdd que j'ai crée dans php admin à sql server afin de pouvoir créer des triggers.
Pourquoi vouloir passer par sqlserver pour créer des triggers ? Mysql sait le faire : http://dev.mysql.com/doc/refman/5.0/...e-trigger.html
En fait ma professeur m'a expliqué que via un lien odbc je pourrais connecter ma base de données que j'ai créer avec phpmyadmin sauf que je n'ai aucune idée de comment faire et que ses explications ne m'ont vraiment pas éclairé...
Voilà j'espere avori été clair :)
Phpmyadmin ne sert qu'a administrer les bases mysql.
Oui je sais je veux dire que je veux relier ma bdd créer avec admin à sqlserver via odbc;
Si tu n'es pas plus clair sur les éléments, on ne peut pas voir de quoi tu parles.
"sql server" c'est le nom du gestionnaire de base données ; c'est lui qui gère tes bases, tes tables, tes données.
tu peux te connecter à sql server avec PHP, soit directement en utilisant des pilotes sql server, soit en utilisant un lien odbc si ton serveur sql server est configuré avec une source odbc.
Désolé je ne suis pas très clair justement car cela ne l'est pas trop pour moi...
D'accord avec la deuxieme partie de ta réponse à savoir :
soit en utilisant un lien odbc si ton serveur sql server est configuré avec une source odbc.
C'est ce quelle attend de moi visiblement car elle a parlé de lien odbc.
Aurais tu un tuto intéressant ou bien des indications pour débuter ?
Merci d'avance !
La documentation microsoft :
http://msdn.microsoft.com/fr-fr/library/ms188681.aspx
qu'on ne se mélange pas...
Sql Server c'est le nom du produit de base de donnée de Microsoft alors que Mysql ça appartient à Oracle et se sont deux produits concurrents (même s'ils ne sont pas tout à fait sur le même segment de marché).
phpmyadmin n'est pas fait pour faire fonctionner Sql Server. marchera pas. jamais. impossible.
PHP sait se connecter aux deux produits (Sql Server, Mysql) et d'autres aussi. Tu peux utiliser une source ODBC. tu peux utiliser PDO aussi (c'est mieux) ou le pilote "mssql" qui est une copie conforme de l'api de mysql. Perso je déteste les sources ODBC parce que tu te chope le probleme du casse tête à avoir à faire des choses supportées par l'interface ODBC et aussi le connecteur ODBC sous jacent.
mais tu peux pas faire une soupe comme tu le décris.
D'accord c'est un peu plus clair.
Donc tu me conseilles d'utiliser PDO plutot qu'ODBC .
Pourrais tu me fournir de l'aide ou un tuto clair à ce sujet ?
Les documentations microsoft j'ai du mal à en tirer des choses claires...
PDO et ODBC ne traitent pas de la meme chose.
Tu peux utiliser toutes les variantes :
- PDO utilisant le driver sql microsoft
- PDO et le driver ODBC
- le driver sql microsoft sans PDO
- le driver ODBC de PHP
Je suis completement largué...
Je me repete je sais, mais je ne verrai plus ma prof avant le bts que je vais passer et je dois créer une appli client/serveur pour le bts.
Elle m'a dit qu'il fallait que j'utilise le logiciel sql server pour créer des triggers.
SI j'ai bien compris ce que vous m'avez expliqué je dois connecté mysql avec sqlserver j'aurai ainsi accès à ma bdd via sql server et il vaut mieux que j'utilise pdo pour les relier que odbc.
Suis je dans le bon ?
SI oui, où puis je trouver un tuto autre que celui de microsoft car je n'arrive pas à le comprendre et tout n'est pas très clair pour moi..
Désolé de paraitre un peu idiot...
Absolument pas , j'ai l'impression que tu ne comprend pas de quoi tu parles.Citation:
Suis je dans le bon ?
SQL Server n'est pas un logiciel à proprement parler , c'est un SGBDCitation:
Elle m'a dit qu'il fallait que j'utilise le logiciel sql server pour créer des triggers
En revanche SQL Server Management Studio est lui un logiciel permettant de se connecter à une base de donnée sql server et d'y faire toutes les manip que l'on veut.
Si on te demande d'utiliser SQL Server pourquoi vouloir utiliser mysql ?Citation:
je dois connecté mysql avec sqlserver
PDO est une couche d'abstraction d'accès au base de données. Odbc est ce que l'on pourrait appeler un driver. PDO utilise ces drivers pour se connecter au bdd. Donc tu peux utiliser PDO avec odbc (voir ici par exemple) ou PDO avec le driver sqlserver , ou encore les méthode native mssql_* de php.Citation:
il vaut mieux que j'utilise pdo pour les relier que odbc
Ce choix dépendant de ta version de php et de sa configuration.
Note : J'ai quand même du mal à croire qu'on demande à des étudiants de faire des triggers si ils ne savent même pas ce qu'est (ou n'est pas ) SQL server ...
D'accord, d'accord.
En fait, on a fait pas mal de triggers dans la théorie mais on nous a jamais expliqué comment ensuite les mettre en place...
On nous a juste dit 'utilisé sql server'...
Donc j'essaie de te dire ce uqe j'ai compris.
Pensant que je devrai relier mon site et sa bdd que j'ai crée avec admin je l'avais déjà implanté dans admin donc mysql.
En fait, cela ne sert à rien et il faut que je l'implante dans sql server ma bdd et ensuite je me servirai SQL Server Management Studio pour gérer tout ce qui est l'ajout de trigger à ma bdd.
Ensuite sur mon site php il faudra que j'utilise PDO et les drivers odbc (par exemple) pour me connecter à cette bdd sql server.
Je devrai donc remplacer tout ce que j'ai écris (mysql_fetch_array, mysql_fetc_row...) par une fonction identique mais odbc.
Je commence à comprendre là ?
admin c'est phpMyAdmin ?Citation:
que j'ai crée avec admin je l'avais déjà implanté dans admin donc mysql
Pas forcément besoin de Sql server management mais c'est en effet plus pratique que de taper du sql en ligne de commande.Citation:
il faut que je l'implante dans sql server ma bdd et ensuite je me servirai SQL Server Management Studio pour gérer tout ce qui est l'ajout de trigger à ma bdd
Pour ta base de données, y'a des chances qu'un export de mysql puisse s'importer dans sql server si c'est une base simple avec des types basiques.
C'est ça.Citation:
Ensuite sur mon site php il faudra que j'utilise PDO et les drivers odbc (par exemple) pour me connecter à cette bdd sql server.
Je devrai donc remplacer tout ce que j'ai écris (mysql_fetch_array, mysql_fetc_row...) par une fonction identique mais odbc.
L'avantage de PDO étant que si par exemple tu l'avais utilisé dès le départ tu n'aurais pas eu besoin de changer toutes tes fonctions. Tu aurais simplement changer le driver mysql pour un driver sql server mais pas les méthodes de requétage qui sont identique.
Oui c'est phpMyAdmin désolé.
Elle est simple oui seulement 2,3 tables. Je vais allez me renseigner quant à l'export et l'import de bdd vendant de mysql vers sql server.
En fait j'ai utilisé ces fonctions car ma prof m'avait dit de les utiliser...
Il existe pour chaque fonction mysql des fonctions odbc identique ou alors il va falloir carrément que je trouve une autre façon de faire parfois ?
Il y a juste le nom des fonctions qui change ou autre chose ?
Voir les docs en fonctions de ce que tu utiliseras :
http://fr.php.net/manual/fr/book.mssql.php
http://fr.php.net/manual/fr/book.uodbc.php
http://fr.php.net/manual/fr/book.pdo.php
Tu m'en conseilles un en particulier toi ?
j'ai cru comprendre que tu préferais pdo toi ?
Ne serait-ce pas plus pratique pour moi d'utiliser odbc plutôt vu que toutes mes fonctions ressemblent plus à de l'odbc qu'à du pdo ?
Je peux pas choisir pour toi :)
Ma préférence va en effet vers PDO qui est le plus "standard" mais tu peux bien utiliser ce qui te plait le plus ;)
Bah disons que ma prof m'a parlé d'odbc après toi tu me conseilles pdo et la plupart des livres que j'ai parle de pdo mais jamais d'odbc donc j'ai tendance à penser que pdo reste meilleur...
Puis je veux celui qui me demandera le moins de trvail pour le changement de toutes mes fonctions.
Je me repête, tu peux utiliser
- Le driver odbc sur un lien odbc
- PDO sur un lien odbc
- Le driver microsoft standard sur un lien odbc
- Le driver microsoft standard directement sur le serveur
- Le driver microsoft PDO sur un lien odbc
- Le driver microsoft PDO directement sur le serveur
Tu parles de changer tes fonctions, mais actuellement tu utilises quoi ?
Derniere question pour être sur que j'ai bien tout compris.
En fait la connexion que je vais faire de php à sqlserver se fera via pdo et ensuite il faudra que je choisisse soit pdo avec les drivers odbc soit pdo et les drivers pdo.
Le problème est que je ne trouve pas de tuto qui explique comment se connecté à sqlserver avec php via pdo et son drivers odbc (j'ai décidé de choisir odbc car ça ressemble le plus à ce que j'utilise en ce moment d'après la documentation )
Pourrais tu m'en fournir un qui soit clair avec la façon de se connecter et les explications à côté pour comprendre à quoi tout correspond ?
Merci d'avance !
EDIT : ma version de sql server que j'utilise est SQL Server 2008 R2 Developer
Ma version php est 5.2.8
En ce moment j'étais totalement dans le faux donc j'utilisais des fonctions mysql.
Ah oui il y a encore plus de choix (je n'avais pas compris ce que tu expliquais la premiere fois que tu avais posté ça vu que c'était vraiment pas clair à ce moment là)
Donc il existe pdo avec drivers odbc mais aussi odbc avec driver pdo c'est ça ?
ODBC est un moyen d'accéder a une base de donnée.
Avec PHP 5.3 il existe des drivers qui utilisent ODBC et d'autres qui se connectent directement à la base :
- PDO-ODBC
- ODBC
- SQLDRV
- SQLDRV-PDO
Exemple de connexion en PDO-odbc :
Code:
1
2
3
4 $dsn = "odbc:Driver={SQL Server Native Client 10.0};Server=127.0.0.1;Database=myDB;Uid=myUser;Pwd=myPass;" $sql = new PDO($dsn); $sql->query('SELECT * FROM maTABLE');
Je recommence à être un peu perdu là...
En 'imagé' ça donne on installe une 'extension à php' qui peut être pdo et ensuite un drivers qui peut être odbc qui va me permettre de me connecter à sqlserver.
Mais il existe aussi des 'extensions' qui contiennent à la fois pdo et son driver odbc.
C'est à peu près ça ?
PS : Je suis vraiment désolé mais ma prof nous a vraiment alché dans la nature juste en nous disant ce que j'ai dis plus haut et sur internet je narrive pas à trouver d'explications explicites c'est pour ça que je pose des questions stupides et que je répète les choses plsuieurs fois pour être sur d'avoir bien compris tout.
Ce qui n'est pas encore tout à fait le cas...
D'accord merci.
Et après c'est comme mysql, à chaque page je dois devrais mettre la connexion précédente ?
EDIT : j'ai easyphp 3.0 portable que j'utilise et qui commence à dater mais qui fonctionne.
C'est mieux que je prenne la dernière version 5.3.5.0 d'easy php portable ?
Si tu as besoin d'une connexion à la base, ouiCitation:
à chaque page je dois devrais mettre la connexion précédente ?
Si tu n'as pas de restriction particulière autant être le plus à jour possibleCitation:
C'est mieux que je prenne la dernière version 5.3.5.0 d'easy php portable ?
J'ai trouvé dans un livre une page qui parle de l'acces à une bdd à travers un lien odbc où il m'est expliqué comment créer une source de données système.
Je n'ai aps de problème jusqu'au moment où il faut que je dise à quel serveur sql systeme je souhaite me connecter là je ne sais pas quoi faire...(si vous ne voyez pas de quoi je parle je peux vous écrire la démarche qui m'est expliquée)
Autre question, je suis allé consulter la faq pdo et il est écrit plusieurs fois que j'ai des choses à configurer pour que cela fonctionne.
Pouvez vous me citer les diverses choses que j'ai à configurer et à vérifier ?
C'est la même chose que pour un serveur mysql (ou tout autre SGBD).Citation:
Je n'ai aps de problème jusqu'au moment où il faut que je dise à quel serveur sql systeme je souhaite me connecter là je ne sais pas quoi faire..
Si tu as un sql serveur sur ta machine ca sera localhost ou 127.0.0.1 sinon une adresse sur le réseau.
Activer les extensions php_pdo_x.dll. Pour odbc ca sera par exemple décommenter la ligneCitation:
Autre question, je suis allé consulter la faq pdo et il est écrit plusieurs fois que j'ai des choses à configurer pour que cela fonctionne.
Pouvez vous me citer les diverses choses que j'ai à configurer et à vérifier ?
.Code:;extension=php_pdo_odbc.dll
Rien d'autre à parametrer
Ok c'est fait, merci.
Ensuite il faut juste une fois que je serai connecté grâce aux identifiants de connexion que tu m'as donné précédemment (je ne suis pas chez moi je n'ai donc pas accès à sqlserver) que je remplace mes mysql_fetch_array par des odbc_fetch_array etc...
L'exemple que j'ai donné précédement concerne pdo + odbc , toi tu parle de odbc seule , ça n'a donc rien à voir ...
Donc ce n'est pas clair dans ma tête encore visiblement...
Je ne peux pas me servir d'odbc seul si ?
ça existe pas odbc + drivers odbc si ?
Je suis vraiment largué on dirait...
EDIT :Si je n'utilise qu'ODBC ce sera plus simple si ça me permet de me connecter à sqlserver et en plus d'utiliser des fonctions comme odbc_fecth_array qui sont très similaires à mysql et donc compréhensibles pour moi.
Comment se connecter si je n'utilise qu'ODBC ?
EDIT2 : Et si j'utilise PDO_ODBC la chaine de connexion c'est ce que tu m'as dit plus haut ? et les fonctions ça donnerait quoi ,
Pour être un peu moins larguer faut essayer de se documenter un peu.
Extension odbc php : http://fr.php.net/manual/en/book.uodbc.php (les fonction odbc_*)
Extension PDO : http://fr.php.net/manual/en/book.pdo.php (les fonction sont les même quelques soit le driver)
La référence sur les bases de données :
http://fr.php.net/manual/en/refs.database.php
Tu utilises soit l'extension odbc , soit l'extension pdo qui peut passer par odbc pour se connecter à ton serveur.
Je crois que le problème c'est que tu n'as aucune idée de ce que sont odbc et pdo et donc forcément ce n'est pas clair
J'ai déjà lu ça quelques posts avant et c'est ce qui m'a fait remarquer qu'odbc se rapprochait plus de mysql que pdo.
Donc j'avais choisi odbc pour ça
Si je choisis l'extension odbc de php que tu me proposes je peux l'utiliser pour la lier à sqlserver sans passer par pdo on est d'accord ?
La chaine de connexion ce serait quoi alors à ce moment là ?
Sinon j'essaie de me documenter avec ce que vous me donnez et ce que je trouve sur le net mais n'ayant pas eu de cours concret j'ai du mal à tout cerner et je m'embrouille un peu...
ouiCitation:
Si je choisis l'extension odbc de php que tu me proposes je peux l'utiliser pour la lier à sqlserver sans passer par pdo on est d'accord ?
Je ne sais pas donc je clic sur la doc , et là , oh joie , oh bonheur , je trouve un exemple :Citation:
La chaine de connexion ce serait quoi alors à ce moment là ?
Et si jamais ca ne marche pas y devrais y'avoir un début de solution en regardant iciCode:
1
2
3 // Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 2008 $connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);
Ok ok merci je vais essayer de me débrouiller avec ça.
Je risque de revenir demander de l'aide pour la connection à sql server car je ne m'en suis jamais servi encore et je viens de l'installer...
Je vais chercher de mon côté et si je ne trouve pas je reviens vers vous.
bonjour a tous;
voila je viens de lire vos messages et en fait jai un probleme dans le meme domaine jaimerais connecter ma base sql server avec une connexion odbc deja etabli ayant comme source le nom de ma bd sinon pour la connexion ben si vous avez un tuto ou une idee ca serait pas de refus justilie lme meme poste comme client et serveur et je jexecute avec easy php voila merci a vous