【发布时间】:2012-07-24 02:29:07
【问题描述】:
我正在尝试在 IronPython 2.7.3 上使用 sqlalchemy 0.7.8 和 adodapi 2.4.2.2 连接到 mssql SQLExpress 2012 数据库
我能够创建一个 sqlalchemy 引擎,但是当进行查询时,我得到: "TypeError: 'NoneType' 对象不可订阅"
追溯:
Traceback (most recent call last):
File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\SQLAlchemy-0.7.8-py2.7.egg\sqlalchemy\engine\base.py", line 878, in __init__
File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\SQLAlchemy-0.7.8-py2.7.egg\sqlalchemy\engine\base.py", line 2558, in raw_connection
File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\SQLAlchemy-0.7.8-py2.7.egg\sqlalchemy\pool.py", line 183, in unique_connection
File "<string>", line 9, in <module>
File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\SQLAlchemy-0.7.8-py2.7.egg\sqlalchemy\engine\base.py", line 2472, in connect
TypeError: 'NoneType' object is unsubscriptable
正在使用的代码:
def conn():
return adodbapi.connect('Provider=SQLOLEDB; Data Source=SERVER\SQLEXPRESS;
Initial Catalog=db; User ID=user; Password=pass;')
engine = create_engine('mssql+adodbapi:///', creator=conn,
echo = True, module=adodbapi)
adodbapi 似乎可以自己正常工作,即。我可以创建一个连接然后使用游标查询没有任何问题,这似乎是sqlalchemy中的东西。
有人有什么想法吗?
【问题讨论】:
-
你能上传你的查询代码吗?
-
要让它失败,你需要做的就是调用engine.connect(),它甚至在它到达数据库之前就失败了
-
你为什么不试试pyodbc而不是adodapi?
标签: sqlalchemy ironpython adodbapi