[PDO] chaine de connexion
reaverlost
Messages postés
168
Statut
Membre
-
zermat Messages postés 160 Statut Membre -
zermat Messages postés 160 Statut Membre -
Bonjour,
Je dois me connecter avec PDO à une chaine de connexion que mon tuteur m'a donné. La voici :
jdbc:jtds:sqlserver:host=172.31.XXX.XXX:1433;dbname=NOMBASE", "USER", "PASSWORD"
Mon code :
Mais ça ne fonctionne pas.
Je débute en PDO, j'ai essayé une connexion à une de mes bases en local, et ça marche.
Quelqu'un aurait une idée?
Merci d'avance.
Je dois me connecter avec PDO à une chaine de connexion que mon tuteur m'a donné. La voici :
jdbc:jtds:sqlserver:host=172.31.XXX.XXX:1433;dbname=NOMBASE", "USER", "PASSWORD"
Mon code :
<?php
try
{
$db = new PDO("jdbc:jtds:sqlserver:host=172.31.XXX.XXX:1433;dbname=NOMBASE", "USER", "PASSWORD");
echo "Ok";
}
catch(PDOException $e)
{
echo "Erreur";
}
?>
Mais ça ne fonctionne pas.
Je débute en PDO, j'ai essayé une connexion à une de mes bases en local, et ça marche.
Quelqu'un aurait une idée?
Merci d'avance.
A voir également:
- [PDO] chaine de connexion
- Gmail connexion - Guide
- Chaine tnt gratuite sur mobile - Guide
- Connexion chromecast - Guide
- Plus de chaine tv - Guide
- Chaine radio - Télécharger - Médias et Actualité
8 réponses
'lut, juste "Erreur" c'est super descriptif comme message d'erreur... Quel gâchis d'ailleurs: PDOException regorge d'infos précises sur l'erreur, alors on va s'en servir:
L'erreur donnée te donnera surement une piste...
...
catch(PDOException $e)
{
echo "Erreur: " . $e->getMessage();
}
L'erreur donnée te donnera surement une piste...
jdbc est une couche java, PDO est une couche php. Je ne suis pas sûr qu'ils puissent marcher ensemble. Essayez plutôt d'utiliser la chaîne de connexion suivante:
$db = new PDO("sqlsrv:server=172.31.XXX.XXX:1433;Database=NOMBASE", "USER", "PASSWORD");
Mais il faut que les extensions pdo soit actives dans le fichier php.ini (décommenter php_pdo.dll et php_pdo_mssql.dll). Si vous utilisez php-5.3 ou php-5.4 vous pouvez télécharger les dll ici: http://www.microsoft.com/en-us/download/details.aspx?id=20098
$db = new PDO("sqlsrv:server=172.31.XXX.XXX:1433;Database=NOMBASE", "USER", "PASSWORD");
Mais il faut que les extensions pdo soit actives dans le fichier php.ini (décommenter php_pdo.dll et php_pdo_mssql.dll). Si vous utilisez php-5.3 ou php-5.4 vous pouvez télécharger les dll ici: http://www.microsoft.com/en-us/download/details.aspx?id=20098
Merci pour vos réponses.
Mais ça ne fonctionne toujours pas, j'ai bien vérifié les extensions, et toujours le même message d'erreur :
Erreur : could not find driver
Mon code :
Mais ça ne fonctionne toujours pas, j'ai bien vérifié les extensions, et toujours le même message d'erreur :
Erreur : could not find driver
Mon code :
try
{
$db = new PDO("sqlsrv:server=172.31.XXX.XXX:1433;Database=NOMBASE", "USER", "PASSWORD");
echo "Ok";
}
catch(PDOException $e)
{
echo "Erreur : ". $e->getMessage();
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
N'oubliez pas qu'après chaque modification de php.ini il faut redémarrer apache.
Aussi faite une page test.php avec ce code
et vérifier que Configuration File (php.ini) Path correspond bien à votre fichier php.ini et que dans la section PDO drivers vous avez mssql enabled.
Aussi faite une page test.php avec ce code
<?php phpinfo(); ?>
et vérifier que Configuration File (php.ini) Path correspond bien à votre fichier php.ini et que dans la section PDO drivers vous avez mssql enabled.
Voici ce que j'ai :
Configuration File (php.ini) Path ==> C:\Windows (Pas de fichier php.ini)
Loaded Configuration File ==> C:\Program Files\wamp\bin\apache\apache2.4.4\bin\php.ini
Dans ce fichier php.ini, les extensions liées à PDO sont bien décommentées.
Mais dans mon phpinfo(), dans la rubrique PDO, je n'ai pas mssql enabled...
Configuration File (php.ini) Path ==> C:\Windows (Pas de fichier php.ini)
Loaded Configuration File ==> C:\Program Files\wamp\bin\apache\apache2.4.4\bin\php.ini
Dans ce fichier php.ini, les extensions liées à PDO sont bien décommentées.
Mais dans mon phpinfo(), dans la rubrique PDO, je n'ai pas mssql enabled...
Deux possibilités soit que php ne trouve pas php_pdo_mssql.dll soit qu'il n'arrive pas à le charger (module incompatible).
Pour la première possibilité il faut vérifier la directive extension_dir dans le fichier php.ini correspond bien au dossier dans lequel se trouve php_pdo_mssql.dll. Il est conseillé de donner un chemin absolu à ce dossier par exemple:
extension_dir = "C:\Program Files\wamp\bin\apache\apache2.4.4\bin\ext"
Vérifier que dans ce dossier ext se trouve notre fameux php_pdo_mssql.dll.
Pour éliminer les doutes faite copier le fichier php.ini dans C:\WINDOWS
Redémarrer le serveur
faite le test de phpinfo : il faut obtenir dans la rubrique PDO mssql enabled.
Si malgré tout ça ne fonctionne pas c'est sûr php_pdo_mssql.dll n'est pas compatible avec votre version php. Pour vérifier cela aller dans le dossier où se trouve php.exe et tapez cette commande :
php.exe -m
cette commande liste tout les modules chargés par php parmi lesquels doit se trouver pdo_mssql. Si php n'arrive pas à charger ce module, il va afficher un warning.
Pour la première possibilité il faut vérifier la directive extension_dir dans le fichier php.ini correspond bien au dossier dans lequel se trouve php_pdo_mssql.dll. Il est conseillé de donner un chemin absolu à ce dossier par exemple:
extension_dir = "C:\Program Files\wamp\bin\apache\apache2.4.4\bin\ext"
Vérifier que dans ce dossier ext se trouve notre fameux php_pdo_mssql.dll.
Pour éliminer les doutes faite copier le fichier php.ini dans C:\WINDOWS
Redémarrer le serveur
faite le test de phpinfo : il faut obtenir dans la rubrique PDO mssql enabled.
Si malgré tout ça ne fonctionne pas c'est sûr php_pdo_mssql.dll n'est pas compatible avec votre version php. Pour vérifier cela aller dans le dossier où se trouve php.exe et tapez cette commande :
php.exe -m
cette commande liste tout les modules chargés par php parmi lesquels doit se trouver pdo_mssql. Si php n'arrive pas à charger ce module, il va afficher un warning.