La version de Debian utilisée dans ce tuto:

# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
#

Etape 1

il faut installer php-sybase (Le connecteur Sybase connector fournit les librairies nécessaires pour se connecter au serveur SQL), le logiciel freetds, et unixodbc. Faites-le de cette manière:

$ sudo apt-get install freetds-common freetds-bin unixodbc php-sybase

Une fois que c’est installé, redémarrez Apache:

$ sudo service apache2 restart

Vous pouvez maintenant tester une connexion au serveur MSSQL Server comme suit, en utilisant la ligne de commande tsql:

$ tsql -H <hostname/ip_address> -U <utilisateur> -P <mot_de_passe> -D <base_de_données> 

Vous devriez obtenir un message simillaire à celui-ci:

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Default database being set to <base_de_données>
1> 

Si vous obtenez quelque chose comme ci-dessus, tout va bien. Maintenant vous pouvez configurer votre fichier /etc/freetds/freetds.conf.

Note: Cet exemple a été testé avec le Mixed-Mode Authentication sur le serveur SQL Server, à vérifier si cela fonctionne avec l’authentification Windows…

Maintenant pour configurer votre fichier /etc/freetds/freetds.conf , ouvrez le dans l’éditeur de votre choix, et vous verrez un contenu déjà renseigné. A la fin du fichier, ajoutez une entrée comme suit:

[YOUR_SERVER_FRIENDLY_NAME]
host = <hostname/ip_address>
port = tds version = 8.0

Vous devriez maintenant être en mesure de vous connecter sans avoir à fournir les informations du serveur telles que nom et numéro de port, comme ceci:

$ tsql -S -U -P -D

Vous devriez obtenir quelque chose comme ceci:

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Default database being set to
1> quit

Si vous obtenez ceci, c’est excellent, vous pouvez maintenant faire un test en PHP.

Pour cela, vous pouvez vous inspirer de l’exemple ci-dessous:

$connection = new \PDO('dblib:host=yoursqlserver.poweredby.kinamo.be;dbname=database', 'username', 'password');

if (!$connection) { die('Unable to connect!'); } if (!mssql_select_db('', $connection)) { die('Unable to select database!'); } 
$result = mssql_query('SELECT * FROM matable');
while ($row = mssql_fetch_array($result))
{ var_dump($row); }
mssql_free_result($result);

Quand vous lancez ce code – depuis un navigateur ou en ligne de commande, vous devriez obtenir des données depuis votre table .

 

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Blue Captcha Image
Refresh

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.