sql >> Database >  >> RDS >> Oracle

python:verbinding maken met een Oracle-database met behulp van de portemonnee/tnsnames van Oracle

Ik kan het niet helpen met het converteren van de Java-kant naar de C-kant die cx_Oracle nodig heeft, maar misschien helpt het volgende om te laten zien wat cx_Oracle nodig heeft. Ik zal een voorbeeld gebruiken op basis van Oracle Exadata Express, dat een portemonnee gebruikt om verbinding te maken, zie de algemene instructies voor het verbinden van scripttalen met Exadata Express hier .

Uw exacte configuratie en bestanden kunnen verschillen. Zoals Anthony aangaf, is de beveiligingsconfiguratie niet specifiek voor cx_Oracle. Er kunnen meer ervaren en behulpzame beveiligingsexperts op andere forums op de loer liggen.

Voor Exadata Express wordt een vooraf geleverd zipbestand van de portemonnee gedownload. Voor Oracle Call Interface-toepassingen zoals cx_Oracle hebben we alleen deze bestanden uit de zip nodig:sqlnet.ora, tnsnames.ora en cwallet.sso. U moet deze (of wat u maar nodig heeft) bestanden maken/vinden.

Mijn bestanden zijn:

sqlnet.ora :

WALLET_LOCATION = (SOURCE = (METHOD = file)
                   (METHOD_DATA = (DIRECTORY="$TNS_ADMIN")))

SSL_SERVER_DN_MATCH=yes

tnsnames.ora :

dbaccess = (description=
          (address=(protocol=tcps)(port=1522)(host=whereever.com))
          (connect_data=(service_name=whereever2.com))   
          (security=(ssl_server_cert_dn="CN=wherever2.com,O=Oracle Corporation,L=Redwood Shores,ST=California,C=US"))  
       )

cwallet.sso :Ik laat dit aan uw verbeelding over...

Ik heb die drie bestanden in /Users/cjones/Cloud . geplaatst en stel de omgeving in om ze te vinden:

$ export TNS_ADMIN=/Users/cjones/Cloud

Nu kan ik verbinding maken met de verbindingsnaam in de tnsnames.ora bestand:

$ sqlplus -l cj/[email protected]

SQL*Plus: Release 12.2.0.1.0 Production on Fri Jul 6 10:20:21 2018

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Last Successful login time: Tue Jul 03 2018 13:00:06 +10:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL>

In cx_Oracle uw dsn zou zijn dbaccess ook.



  1. Selecteer kolom in kleine letters met groeperen op of selecteer lager (kolom) in Rails 4

  2. Genereer SQL om de primaire sleutel bij te werken

  3. PostgreSQL-aanmaakfunctie

  4. Zoek naar een item - in een database (zonder een kolomnaam/tabelnaam op te geven)