Oracle db テーブルで、いくつかのデータを含む ® 文字があります
pyodbc が WinXP 32bit と Win7 64bit から同じクエリを実行すると、異なる結果が得られる
データをファイルにダンプすると、次のような出力が得られます。
WinXP : ? を含むデータ # ® は ? に置き換えられます。
Win7 : ® を含むデータ # 適切なデータ
WinXPの問題は何か、
以下のクエリコード:
def dbquery(dbipaddr,dbname,pwd,sid,port,querystr):
try:
import cx_Oracle
conn_str=dbname+"/"+pwd+"@"+dbipaddr+":"+port+"/"+sid
conn = cx_Oracle.connect(conn_str)
cur=conn.cursor()
cur.execute(querystr)
queryRes = cur.fetchone()
tmp = []
res = []
while queryRes:
for res in queryRes:
try:
tmp = res.read()
except:
tmp = res
tmp.append(tmp)
res.append(tuple(tmp))
queryRes = cur.fetchone()
tmp = []
conn.close()
except Exception, ex:
print ex.message
return []
return res