Nemohu pomoci s převodem strany Java na stranu C potřebnou pro cx_Oracle, ale možná následující pomůže ukázat, co cx_Oracle potřebuje. Použiji příklad založený na Oracle Exadata Express, který používá k připojení peněženku, viz obecné pokyny pro připojení skriptovacích jazyků k Exadata Express zde .
Vaše přesná konfigurace a soubory se mohou lišit. Jak Anthony naznačil, nastavení zabezpečení není specifické pro cx_Oracle. Zkušenější a užitečnější bezpečnostní experti mohou číhat na jiných fórech.
Pro Exadata Express se stáhne předem dodaný zip peněženky. Pro aplikace Oracle Call Interface, jako je cx_Oracle, potřebujeme pouze tyto soubory ze zipu:sqlnet.ora, tnsnames.ora a cwallet.sso. Budete muset vytvořit/najít tyto (nebo co potřebujete) soubory.
Moje soubory jsou:
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 :To nechám na vaší fantazii...
Tyto tři soubory jsem vložil do /Users/cjones/Cloud
a nastavte prostředí, aby je našlo:
$ export TNS_ADMIN=/Users/cjones/Cloud
Nyní se mohu připojit pomocí názvu připojení v tnsnames.ora
soubor:
$ 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>
V cx_Oracle vaše dsn
by bylo dbaccess
taky.