<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Autre-Chose &#187; Apache</title>
	<atom:link href="http://blog.autre-chose.org/tag/apache/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.autre-chose.org</link>
	<description>-- Parce que vous êtes libres</description>
	<lastBuildDate>Mon, 29 Nov 2010 17:16:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<cloud domain='blog.autre-chose.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>Windows, SQL Server Express et&#8230; PHP</title>
		<link>http://blog.autre-chose.org/2006/03/27/windows-sql-server-express-et-php?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/03/27/windows-sql-server-express-et-php#comments</comments>
		<pubDate>Mon, 27 Mar 2006 21:28:30 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Base de données]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=107</guid>
		<description><![CDATA[Je sais, le titre sonne bizzar. On ne peut s&#8217;empêcher de se demander pourquoi chosir PHP alors qu&#8217;on travaille avec Windows et SQL Server ou bien pourquoi Windows et SQL Server alors qu&#8217;on désire PHP ? Dans mon cas, la raison est fort simple : dans un contexte de stage, on ne fait pas tout [...]]]></description>
			<content:encoded><![CDATA[<p>Je sais, le titre sonne bizzar. On ne peut s&#8217;empêcher de se demander pourquoi chosir PHP alors qu&#8217;on travaille avec Windows et SQL Server ou bien pourquoi Windows et SQL Server alors qu&#8217;on désire PHP ? Dans mon cas, la raison est fort simple : dans un contexte de stage, on ne fait pas tout ce que l&#8217;on veut. Pour des raisons comme l&#8217;administration des serveurs, je me dois de travailler avec Windows et SQL Server. Mais le but de ce billet n&#8217;est pas de vous expliquer les raisons ni encore moins mes opinions face à ça, mais plutôt de vous aider à faire fonctionner les 3 ensemble.<span id="more-107"></span></p>
<p>Au tout début de mon stage, je savais que j&#8217;allais avoir à retapper certaines pages PHP parlant avec une base de données (qui n&#8217;est pas SQL Server). Lors de la migration des données vers SQL Server (pour augmenter la rapidité du côté non-Web), je ne me suis pas trop attardé à l&#8217;aspect PHP, car je le connais puissant et flexible. Cependant, j&#8217;ai eu quelques problèmes pour parler à une instance SQL Server Express 2005 à l&#8217;aide de PDO.</p>
<p>En effet, j&#8217;ai chosi de migrer les pages en PHP4 (ou plutôt un mélange entre la version 3 et 4&#8230;) vers PHP5 et d&#8217;utiliser PDO pour son côté pratique advenant un autre changement de base de données, mais aussi pour ses performances et son utilisation objet. J&#8217;avais lu dans la documentation officielle que les pilotes ODBC pour PDO ne fonctionnaient pas très bien avec SQL Server Express 2005&#8230; et ils avaient raison. J&#8217;ai obtenu toutes sortes de problèmes que ce soit au passage de paramètres à l&#8217;exécution de requêtes préparées ou encore la réception de la réponse à une requête (SELECT par exemple). Et puisque j&#8217;avais déjà essayé de me connecter à la base de données avec les pilotes MSSQL (ou DBLIB) pour PDO, je n&#8217;étais pas capable. Mais j&#8217;ai finalement réussi. Voici la prodédure :</p>
<ol>
<li>Vérifier que les connexions distantes sont bien possibles à l&#8217;aide de l&#8217;outil &#8220;Configuration de la surface d&#8217;exposition SQL Server&#8221;</li>
<li>Vérifier que vous pouvez bien vous connecter avec l&#8217;usager &#8220;sa&#8221; (Super Admin) &#8211; créer un mot de passe pour cet usager en particulier</li>
<li>Au besoin, testez la connexion avec le programme &#8220;SQL Server Management Studio Express CTP&#8221; sur un ordinateur distant de la base de données (quant au nom de l&#8217;instance, vous devrez l&#8217;entrer sous le format &#8220;<em>{nom de la machine}\SQLEXPRESS</em>&#8221; ou &#8220;<em>{IP}\SQLEXPRESS</em>&#8220;</li>
<li>Quant tout cela fonctionne, vérifier que les extensions PHP_PDO et PHP_PDO_MSSQL sont bien chargées (avec phpinfo() par exemple) &#8211; sinon les ajouter au fichier php.ini et redémarrer le serveur Web)</li>
<li>Le fichier ntwdblib.dll fourni avec php-5.1.2 n&#8217;est pas le bon pour pouvoir se connecter à l&#8217;instance. Vous devez télécharger <a href="<?php bloginfo('url'); ?>/wp-content/ntwdblib.dll&#8221;>celui-ci</a> qui n&#8217;est qu&#8217;une version plus récente, le copier dans votre dossier php (C:\php\ dans mon cas), mais <b>AUSSI</b> dans votre répertoire binaire d&#8217;apache (C:\Program Files\Apache Group\Apache2\bin\ dans mon cas).</li>
<li>Redémarrer votre instance d&#8217;apache et testez votre connexion</li>
</ol>
<p>Vous pouvez baser votre test de connexion sur le mien :</p>
<pre>

$_DSN = 'mssql:host=192.168.0.1\\SQLEXPRESS;dbname=maBD';
$dbh = new PDO($_DSN, 'sa', 'secret', array(PDO::ATTR_PERSISTENT => true));
</pre>
<p>Note : J&#8217;utilise PDO::ATTR_PERSISTANT pour garder la connexion après la fin du script, mais vous n&#8217;êtes pas obligés.</p>
<p>J&#8217;espère que ça va vous aider et sauver du temps !</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=107" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/03/27/windows-sql-server-express-et-php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

