LoginSignup
12
6

More than 5 years have passed since last update.

cx_Oracle でOracle接続

Last updated at Posted at 2017-01-26

開発環境がWindowsで、Oracleデータベースの文字コードはSJIS。

cx_Oracleを使用して、Oracle接続をしてみたが、どうしても出力結果が文字化けしてしまう。
そこで、下記にて環境変数を指定してみた。

os.environ["NLS_LANG"] = "JAPANESE_JAPAN.JA16SJISTILDE"
oracle_connect.py
import cx_Oracle
import os

os.environ["NLS_LANG"] = "JAPANESE_JAPAN.JA16SJISTILDE"
db_user = 'user'
db_pass = 'xxxx'
db_host = '(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SID = HOGE)))'
con = cx_Oracle.connect(db_user, db_pass, db_host)

cur = con.cursor()
sql = 'select member_id, member_name from members order by 1'
cur.execute(sql)
rows = cur.fetchall()
for row in rows:
    member_id = row[0]
    member_name = row[1]
    print( member_name)

うまくいった。

12
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6