I’ve Googled a bit but I haven’t found any substantial results. Is it possible to use key-based authentication to connect to an Oracle server using Python? My objective is to be able to automate some reporting I’m doing with Python without having to store a username/password anywhere in the server.
Share
One possible solution is to implement Oracle Wallet. Creating an Oracle Wallet entry involves having:
Example: The Oracle sid I’m working with is named ORCL, the user I have to connect with is named my_user. In your tnsnames.ora file you already have an entry that resolves the ORCL service name/sid, create one more with exactly the same parameters:
After the new entry resolves successfully, create the oracle wallet entry for the ORCL_MY_USER local name. This new local name you’re going to use in your python script to connect without providing or hard coding a password in it.
Example: