Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Połączenie oci_connect nie powiodło się

Z powodu kilku błędnych konfiguracji i 3 dni straconych na szukanie rozwiązania, przeniosłem się do programowania na serwerze Linux i wszystkie problemy zniknęły.

Co znalazłem:

  • zarówno php_oci8.dll i php_oci8_11g.dll zależą od bibliotek Oracle Instant Client
    • te biblioteki nie zawierają oci_ funkcje (takie jak oci_connect ), tylko ociX funkcje (takie jak ociLogon ), co jest dziwne...
  • chociaż jestem prawie pewien, że pobrałem Oracle Instant Client Basic i wszystkich rozszerzeń, nie mogłem połączyć się z innym serwerem Oracle z powodu nieznanego zestawu znaków, a błąd mówił, że używam tylko Lite natychmiastowy klient...
  • Próbowałem zarówno 64-bitowej, jak i 32-bitowej wersji klienta natychmiastowego bezskutecznie
  • mój Apache jest 64-bitowy, Windows jest 64-bitowy, PHP jest 32-bitowy, zdalny serwer Oracle jest 64-bitowy, zdalny serwer Linux jest 64-bitowy...
  • próbował wiele ustawień środowiska (ORA_HOME , TNS_ADMIN , dostosowano PATH spojrzeć na natychmiastową instalację klienta) bezskutecznie
  • próbowałem odinstalować lokalny serwer Oracle XE z powodu możliwej ingerencji w ustawienia środowiska bezskutecznie
  • prawie straciłem głowę - bezskutecznie...

Więc w końcu na serwerze Linux nie mam problemów z połączeniem się ze zdalnym serwerem Oracle. Gdzieś (podczas przeglądania tysięcy stron związanych z PHP-Oracle) znalazłem informację, że "nie należy tworzyć aplikacji PHP łączącej się z serwerem Oracle pod Windows" i zamiast tego należy trzymać się systemu UNIX...

Więc każdy doświadczasz podobnych lub tych samych problemów - bądź tak miły i nie trać czasu, zainstaluj VirtualBox, uruchom na nim Linuksa i idź dalej!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd:ORA-01704:literał ciągu jest za długi

  2. Konwertuj OracleParameter.Value na Int32

  3. Zmiana hasła SYS w RAC

  4. Jak wybrać z kolumny typu obiektu w Oracle 11g?

  5. jak wstawić aktualną datę do pola DATE w formacie dd/mm/rrrr w Oracle