Как вы правильно заметили, поддержка драйвера сообщества mssql
не скомпилирована в последние двоичные файлы Windows PHP.
В настоящее время текущий стабильный выпуск MDB2 (2.4.1) не поддерживаетофициальный родной драйвер Microsoft sqlsrv
.
Однако, если вы хотите немного поторопиться с бета-версией MDB2, тогда еще не все потеряно.Существует собственный драйвер Microsoft sqlsrv
, который входит в состав версии 2.5.0b3:
http://pear.php.net/package/MDB2_Driver_sqlsrv
Прежде всего убедитесь, что вы установилиРодной драйвер Microsoft, как я описал в своем ответе здесь:
Соединение между MSSQL и PHP 5.3.5 на IIS не работает
ЗатемДля установки драйвера PEAR MDB2 sqlsrv выполните следующие действия:
Если вы уже установили MDB2, удалите его:
pear uninstall mdb2
Если выУ вас уже установлены драйверы, затем вам нужно сначала удалить их:
pear uninstall mdb2#mysql
Затем скажите PEAR, что вы хотите разрешить нестабильные бета-пакеты:
pear config-set preferred_state beta
Установка MDB2_Driver_sqlsrv
pear install MDB2_Driver_sqlsrv
Это позволит установить последнюю бета-версию MDB2 и MSДрайвер sqlsrv:
downloading MDB2_Driver_sqlsrv-1.5.0b3.tgz ...
Starting to download MDB2_Driver_sqlsrv-1.5.0b3.tgz (29,468 bytes)
.........done: 29,468 bytes
downloading MDB2-2.5.0b3.tgz ...
Starting to download MDB2-2.5.0b3.tgz (130,865 bytes)
...done: 130,865 bytes
install ok: channel://pear.php.net/MDB2_Driver_sqlsrv-1.5.0b3
install ok: channel://pear.php.net/MDB2-2.5.0b3
MDB2: Optional feature fbsql available (Frontbase SQL driver for MDB2)
MDB2: Optional feature ibase available (Interbase/Firebird driver for MDB2)
MDB2: Optional feature mssql available (MS SQL Server driver for MDB2)
MDB2: Optional feature mysql available (MySQL driver for MDB2)
MDB2: Optional feature mysqli available (MySQLi driver for MDB2)
MDB2: Optional feature oci8 available (Oracle driver for MDB2)
MDB2: Optional feature odbc available (ODBC driver for MDB2)
MDB2: Optional feature pgsql available (PostgreSQL driver for MDB2)
MDB2: Optional feature querysim available (Querysim driver for MDB2)
MDB2: Optional feature sqlite available (SQLite2 driver for MDB2)
MDB2: Optional feature sqlsrv available (MS SQL Server driver for MDB2)
MDB2: To install optional features use "pear install pear/MDB2#featurename"
Вероятно, рекомендуется снова отбросить PEAR для разрешения только стабильных пакетов
pear config-set preferred_state stable
Я только что попробовал это с помощью следующего тестового сценария, и мне удалось подключиться к моему локальному MS SQL Server и получить некоторые данные:
<?php
require_once 'MDB2.php';
$dsn = array(
'phptype' => 'sqlsrv',
'username' => 'test',
'password' => 'testpass',
'hostspec' => 'localhost',
'database' => 'PEARMDBTEST',
);
$mdb2 =& MDB2::connect($dsn);
if(PEAR::isError($mdb2))
{
die($mdb2->getMessage());
}
$res =& $mdb2->query('SELECT * FROM TestData');
while (($row = $res->fetchRow())) {
echo $row['TestDataRow'] . "<br/>";
}
?>