sql >> データベース >  >> RDS >> Oracle

Pythonを使用した公開鍵とcx_Oracleによる認証

    考えられる解決策の1つは、OracleWalletを実装することです。 Oracle Walletエントリの作成には、次のものが含まれます。

    • 当該インスタンスに対して確立されたtnsname解決名
    • ユーザー名とパスワード

    例:使用しているOracle sidの名前はORCLで、接続する必要のあるユーザーの名前はmy_userです。 tnsnames.oraファイルには、ORCLサービスの名前/IDを解決するエントリがすでにあります。まったく同じパラメータでもう1つ作成してください。

    #initial local name entry:
    ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = my_ip)(PORT = 1528))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))
    
    #create an additional local name entry:
    ORCL_MY_USER = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = my_ip)(PORT = 1528))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))
    

    新しいエントリが正常に解決されたら、ORCL_MY_USERローカル名のOracleウォレットエントリを作成します。 Pythonスクリプトで使用するこの新しいローカル名は、パスワードを指定したりハードコーディングしたりせずに接続します。

    例:



    1. 複数の関連テーブルにわたる関連性検索

    2. NULLの場合でも、`updated_at`と`created_at`で並べ替えます

    3. SQLiteのすべての一時テーブルを一覧表示します

    4. SQLここでANY列は値に等しい