Próbuję stworzyć aplikację internetową, która może łączyć się z tak wieloma różnymi bazami danych, jak to tylko możliwe w PHP. PDO (http://www.php.net/manual/en/book.pdo.php) wydaje się być właściwym interfejsem, ale mam problem z instalacją wszystkich potrzebnych wersji dla wszystkich różnych sterowników baz danych PDO, których potrzebuję.Instalacja PDO PHP na Windows (xampp)
Należy pamiętać, że używam xampp na maszynie z systemem Windows 7. Wersja PHP 5.3.8. Sterowniki PDO obsługują mysql, odbc, sqlite, sqlite2, sqlsrv.
I pomyślnie połączony z następujących czynności:
- MySQL użyciu pdo_mysql [MySQL (ChNP)] (rozszerzenie zdawała się być zainstalowany na xampp domyślnie)
- Microsoft SQL Server przy użyciu PDO_SQLSRV [Serwer MS SQL (PDO)] (po uwzględnieniu informacji na temat http://craigballinger.com/blog/2011/08/usin-php-5-3-with-mssql-pdo-on-windows/)
nie miałem szczęścia instalacją lub podłączeniem z:
- (SOLVED patrz poniżej aktualizacji) Sybase (próbowałem w obsłudze i instalacji PDO_DBLIB [MS SQL Server (ChNP)], ale bez powodzenia)
- (ROZWIĄZYWANIE ZOBACZ PONIŻSZE AKTUALIZACJE) Oracle (Próbowałem włączyć rozszerzenie = php_pdo_oci.dll w php.ini przy użyciu biblioteki dll, która została zainstalowana z xampp po ponownym uruchomieniu serwera Apache, którego uruchomienie nie powiodło się. Próbował użyć pdo_oci [Oracle (ChNP)])
wiem, że mogę obejść tych 2 z użyciem specyficznych sterowników baz danych, ale naprawdę chciałbym użyć PDO za wszystko, co mi potrzeba.
Czy ktoś wie jak zainstalować i włączyć PDO_DBLIB i pdo_oci sterowniki lub Windows maszynę, lub dowolny inny sposób łączenia się z bazami danych Oracle i Sybase wykorzystaniem PDO?
UPDATE
Tylko pomyślnie połączony z wyroczni z pdo_oci. Co trzeba zrobić, jest następujący:
pobrania i zainstalowania odpowiedniego Oracle Instant Client na komputerze z systemem Windows za przykład instantclient_12_1 i dodać ścieżkę do PATH w SYSTEMIE zmiennych środowiskowych. Uwaga: Oracle obsługuje tylko 2 wersje, więc wybierz odpowiednio wersję klienta. Zrób to, a następnie uruchom ponownie Apache.Zauważ, że ciąg połączenia jest bardzo różni się od oto próbka tego, co kiedyś:
$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);
UPDATE
Wystarczy połączony z Sybase oraz z PDO_ODBC. To, czego potrzebujesz, to:
Musi mieć sterownik ODBC Sybase ASE, który jest dostarczany z SDK. Poniżej ciąg połączenia używany:
$connStr = "odbc:Driver={Adaptive Server Enterprise};server=".$myServer.";port=".$myPort.";db=".$myDB;
$conn = new PDO($connStr,$myUser,$myPass);
Czy mogę zapytać * dlaczego * chcesz połączyć się z tylu różnych baz danych, ile to możliwe? –
z pewnością próbuję zebrać informacje z różnych systemów, które będą wyświetlane w jednym miejscu. coś w rodzaju portalu do monitorowania tabel błędów i niektórych statystyk. – Constantinos
Zaktualizowałam mój post za pomocą rozwiązania do połączenia z Oracle i PDO_OCI. Jeśli ktokolwiek ma rozwiązanie dla sybase, proszę daj nam znać – Constantinos