我正在使用IronPython和clr模塊通過SMO檢索SQL Server信息。我想使用SQL Alchemy在SQL Server數據庫中檢索/存儲這些數據,但在加載pyodbc模塊時遇到了一些麻煩。在IronPython 2.6.1中使用SQL Alchemy和pyodbc
這裏的設置:
- 的IronPython 2.6.1(安裝在d:\ Program Files文件\ IronPython的)
- CPython的2.6.5(安裝在d:\ Python26)
- SQL鍊金術0.6 0.1(安裝在d:\ Python26 \ LIB \站點包\ SQLAlchemy的)
- pyodbc 2.1.7(安裝在d:\ Python26 \ LIB \站點包)
我有這些電子在IronPython的site.py ntries進口CPython的標準和第三方庫:
# Add CPython standard libs and DLLs
import sys
sys.path.append(r"D:\Python26\Lib")
sys.path.append(r"D:\Python26\DLLs")
sys.path.append(r"D:\Python26\lib-tk")
sys.path.append(r"D:\Python26")
# Add CPython third-party libs
sys.path.append(r"D:\Python26\Lib\site-packages")
# sqlite3
sys.path.append(r"D:\Python26\Lib\sqlite3")
# Add SQL Server SMO
sys.path.append(r"D:\Program Files\Microsoft SQL Server\100\SDK\Assemblies")
import clr
clr.AddReferenceToFile('Microsoft.SqlServer.Smo.dll')
clr.AddReferenceToFile('Microsoft.SqlServer.SqlEnum.dll')
clr.AddReferenceToFile('Microsoft.SqlServer.ConnectionInfo.dll')
SQL鍊金術進口IronPython的OK,把試圖連接到SQL Server時,我收到此錯誤信息:
IronPython 2.6.1 (2.6.10920.0) on .NET 2.0.50727.3607
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlalchemy
>>> e = sqlalchemy.MetaData("mssql://")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Python26\Lib\site-packages\sqlalchemy\schema.py", line 1780, in __init__
File "D:\Python26\Lib\site-packages\sqlalchemy\schema.py", line 1828, in _bind_to
File "D:\Python26\Lib\site-packages\sqlalchemy\engine\__init__.py", line 241, in create_engine
File "D:\Python26\Lib\site-packages\sqlalchemy\engine\strategies.py", line 60, in create
File "D:\Python26\Lib\site-packages\sqlalchemy\connectors\pyodbc.py", line 29, in dbapi
ImportError: No module named pyodbc
這段代碼在CPython中工作得很好,但它看起來像pyodbc模塊不能從IronPython訪問。
有什麼建議嗎?我意識到這可能不是解決問題的最佳方式,所以我願意以不同的方式解決這個問題。只是想獲得一些使用SQL Alchemy和pyodbc的經驗。
感謝您發佈您的答案!請務必仔細閱讀[自助推廣常見問題](http://stackoverflow.com/faq#promotion)。另請注意,每次鏈接到您自己的網站/產品時,您都必須*發佈免責聲明。 – 2013-03-08 13:18:52
https://code.google.com/p/pypyodbc/wiki/Enable_SQLAlchemy_on_IronPython – cmotley 2013-03-22 20:49:55