【ログ】SQLAlchemyでOracleのPDBに接続する
※この記事はQrunchログからの移行記事です。
PDBはサービス名として記述する。SIDと異なり"/"区切りでは受け付けてくれないのでDSN形式で記述する。以下のようにcx_Oracle
の関数を利用するとよい。
また、新しい(Oracle18以降?)の場合はmax_identifier_length
を明示的に設定する。
import sqlalchemy import cx_Oracle dsnStr = cx_Oracle.makedsn('localhost','1521','pdb-name') connect_str = 'oracle://user:pass@' + dsnStr.replace('SID', 'SERVICE_NAME') engine = sqlalchemy.create_engine(connect_str, max_identifier_length=128)