【发布时间】:2014-07-24 20:42:08
【问题描述】:
我想使用 SQLAlchemy 访问旧版 MSSQL 数据库。通过基本模式检查,我已经可以列出我感兴趣的表的列。不幸的是,这些列名有时包含重音字母(例如“Magánszemély”、“LevelezésiCímIrányítószám”)。
我唯一的要求是能够查询这个数据库。
我使用以下命令为您列出了一些数据库名称
def inspect_komplex_table():
table = Table('D_Allomanylista_Komplex_V', meta, autoload=True, autoload_with=engine)
return table
def get_columns():
keys = inspect_komplex_table().columns.keys()
keys.sort()
txt = '\n'.join(keys)
open('column_names.txt', 'w').write(txt.encode('utf8'))
这会在 column_names.txt 文件中给出一个(长)列表,其中包含以下行:
...
JutÉrvKezd
KEZDET
KTVSZAM
KamaraiTagszám
Képviselők
Lejarat
LevelezésiCímIrányítószám
LevelezésiCímUtca
LevelezésiCímVáros
...
我尝试先创建一个没有重音列的基本映射
class BiztositasokModel(object):
def __init__(self, UgyfKod):
self.ugyfelkod = UgyfKod
其中UgyfKod 是自省的列之一,但是
mapper(BiztositasokModel, inspect_komplex_table())
UnicodeEncodeError 失败
有人可以告诉我如何处理这样的数据库吗?
【问题讨论】:
标签: python unicode sqlalchemy