2017年4月14日 星期五

在 Linux 下,透過 pdo_dblib 連接 ms sql server

在 PHP 5.x ,是透過 mssql_connect() 來連接 MSSQL Server 2000。在 PHP 7.0 之後,則可以使用 pdo_dblib 來連接 MSSQL Server 2000,並且可以在 Laravel 下使用。而使用微軟提供的 driver,則只能連接 MSSQL Server 200 之後的 SQL server。

yum install php70w-pdo_dblib

其將安裝相依的程式,如 freetds、libgcrypt、libtool-ltdl、libgpg-error、unixODBC。

<?php
echo "db test <br>\n";

$dsn = 'dblib:version=7.1;charset=UTF-8;host=10.161.80.211;dbname=course_db;'
;

try {
  $conn = new PDO($dsn, "dbuser","usrpwd");
} catch (PDOException $e) {
  echo 'Connection failed: ' . $e->getMessage()."<br>\n";
}


$sql = "select @@version as version";
$st = $conn->query($sql);

if (!$st) {

    echo "Query error: ";
    echo $conn->errorInfo();
}

$dat = $st->fetch(PDO::FETCH_ASSOC);
echo '<pre>'.print_r($dat, true).'</pre>';

?>

在 Laravel 中,將連線的 'driver'  設成 'sqlsrv' ,即可透過 dblib 來連上 ms sql server。

沒有留言: