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

Połącz się z PHP z bazą danych Oracle za pomocą portfela Oracle

Tak, to możliwe, musisz:
1 - utworzyć portfel (jak wyjaśniono w Twoim linku)
2 - umieścić natychmiastowego klienta Oracle i pliki portfela gdzieś na serwerze z Apache+PHP (na przykład /opt/instantclient i /opt/wallet)
3 - uruchom Apache z następującymi zmiennymi:

ORACLE_HOME=/opt/instantclient   
LD_LIBRARY_PATH=/opt/instantclient   
TNS_ADMIN=/opt/wallet  

4 - W /opt/wallet utwórz plik tnsnames.ora z następującą zawartością:

WALLET_NAME =  
  (DESCRIPTION =  
    (ADDRESS = (PROTOCOL = TCP)(HOST = DB_IP)(PORT = DB_PORT))    
    (CONNECT_DATA = (SID = DB_SID))    
  )   

gdzie WALLET_NAME to nazwa portfela wybranego podczas tworzenia portfela, DB_IP to adres IP lub nazwa hosta bazy danych, DB_PORT to port bazy danych, a DB_SID to identyfikator bazy danych
5 - W /opt/wallet utwórz pliki sqlnet.ora z następującą zawartością:

WALLET_LOCATION =    
   (SOURCE =     
     (METHOD = FILE)     
     (METHOD_DATA =     
       (DIRECTORY = /opt/wallet)     
     )      
    )     

SQLNET.WALLET_OVERRIDE = TRUE  

6 - uruchom ponownie Apache

Po stronie kodu PHP możesz teraz połączyć się z bazą danych, otwierając połączenie za pomocą następującego kodu:

$conn = oci_connect("/", "", "WALLET_NAME", null, OCI_CRED_EXT);

możesz użyć oci_pconnect, dla trwałych połączeń i tej samej składni
Mam nadzieję, że to pomoże i niczego nie zapomniałem




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmiana precyzji kolumny numerycznej w Oracle

  2. Procedura składowana w Oracle podająca błąd PLS-00428

  3. Aktualizacja SQL, usuwanie i wstawianie w tym samym czasie

  4. Nie można pobrać wyników, przekazując dane wejściowe jako ścieżkę xml w oracle

  5. Ograniczenie UNIQUE a sprawdzanie przed INSERT