Я пытаюсь создать веб-приложение, которое может подключаться к как можно большему количеству различных баз данных на PHP. PDO (http://www.php.net/manual/en/book.pdo.php), по-видимому, является правильным интерфейсом для него, но у меня возникли проблемы с установкой всех расширений, необходимых для всех различных драйверов базы данных PDO, которые мне нужны.
Обратите внимание, что я использую xampp на машине Windows 7. PHP версия 5.3.8. Драйверы PDO включали mysql, odbc, sqlite, sqlite2, sqlsrv.
Я успешно связался со следующим:
- MySQL с использованием PDO_MYSQL [MySQL (PDO)] (по умолчанию, по умолчанию для xampp установлено расширение)
- Microsoft SQL Server с помощью PDO_SQLSRV [MS SQL Server (PDO)] (после выполнения указаний http://craigballinger.com/blog/2011/08/usin-php-5-3-with-mssql-pdo-on-windows/)
Мне не повезло установить или установить соединение с:
- (SOLVED SEE BELOW UPDATES) Sybase (я пытался использовать и устанавливать PDO_DBLIB [MS SQL Server (PDO)], но не повезло)
- (SOLVED SEE BELOW UPDATES) Oracle (я попытался включить расширение = php_pdo_oci.dll в php.ini с dll, которая была установлена с xampp после перезапуска Apache, сервер не смог запустить. пытаясь использовать PDO_OCI [Oracle (PDO)])
Я знаю, что могу обойти эти 2 с использованием драйверов, специфичных для базы данных, но мне очень хотелось бы использовать PDO для всего, что мне нужно.
Кто-нибудь знает, как установить и включить драйверы PDO_DBLIB и PDO_OCI или Windows-машине или любой другой способ подключения с базами данных Sybase и Oracle с использованием PDO?
UPDATE
Просто успешно связан с оракулом с PDO_OCI. Что вам нужно сделать, это следующее:
Загрузите и установите надлежащий Oracle Instant Client на вашем компьютере Windows для пример instantclient_12_1 и добавьте свой путь к PATH в SYSTEM Экологические переменные. Примечание. Oracle поддерживает только две версии, поэтому выберите вашей клиентской версии. Сделайте это, а затем перезапустите свой Apache. Обратите внимание, что строка соединения очень отличается от примера, это пример того, что я использовал:
$tns = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ".$myServer.")(PORT = 1521)))(CONNECT_DATA=(SID=".$myDB.")))";
$connStr = "oci:dbname=".$tns;
$conn = new PDO($connStr,$myUser,$myPass);
ОБНОВЛЕНИЕ
Просто связано с Sybase, а также с PDO_ODBC. Вам нужно следующее:
Должен иметь драйвер Sybase ASE ODBC, который поставляется с SDK. Найдите ниже используемую строку подключения:
$connStr = "odbc:Driver={Adaptive Server Enterprise};server=".$myServer.";port=".$myPort.";db=".$myDB;
$conn = new PDO($connStr,$myUser,$myPass);