Tihiroの頭を休めるIT教室

少しだけ頭使って後は根性

DjangoでOracleに接続したい、それもSERVICE_NAMEで。

概要

DjangoOracle接続する際に、cx_Oracleとかいうのを利用しているんですが、SERVICE_NAMEという設定項目は用意されていません。ということでSERVICE_NAMEで接続する方法についてのメモ書きです。

環境は

です。

ちなみに

pip freeze

でバージョンを確認できます。

f:id:r_tihiro:20171030123711p:plain

内容

プロジェクト内のsettings.pyを修正します。具体的には

DATABASES = {
    'ENGINE': 'django.db.backends.oracle',
    'NAME' : '[ホスト名]:[ポート番号]/[サービス名]',
    'USER': '[ユーザー名]',
    'PASSWORD': '[パスワード]',
    #'HOST' : 'localhost',
    #,'PORT' : 1521,
}

となります。

コメントアウトされているHOSTとPORTは消去で構いません。PORTの設定が入っていると、SIDで接続しにいくようですので、必ず読み込まれないようにしましょう。

まとめ

英語の情報を漁っていると、「SERVICE_NAMEで接続したいんなら貴方が実装してください(するべき?)」みたいなのがありました。

他人様の頑張った結果で自分がご飯を食べていっていることを忘れないよう、日々感謝です。