我对Python和编程很新,所以请耐心等待。在我的工作中,我安装了Anaconda(Python vers 2.7)并希望连接到Microsoft SQL Server数据库,最好是使用ODBC。与此任务相关,我有很多问题:
使用sqlite3或sqlalchemy无法连接到SQL Server数据库是否正确?我需要像pyodbc这样的模块?为什么会出现这种情况的简要解释将非常感激。
编辑:有关在anaconda中安装pyodbc的问题已删除,因为我想出了这一点(通过阅读Cannot Install Python Modules after Installing Anaconda)
非常感谢帮助!如果我的任何问题/任何其他细节需要清理,请不要犹豫。谢谢
答案 0 :(得分:6)
我不使用Anaconda,但我使用各种数据库和ODBC。首先,您可以尝试安装odbc
模块。它是pywin32
包(http://sourceforge.net/projects/pywin32/files/)的一部分,并且包含ActiveState Python发行版。其他发行版可以单独安装。只需尝试:
import odbc
db = odbc.odbc('dsn/user/password')
您也可以尝试使用您提到的pyodbc
。有Windows的预编译版本,我认为它将适用于您的Anaconda环境。安装后尝试:
import pyodbc
db = pyodbc.connect('Driver={SQL Server Native Client 10.0};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;')
您可以在http://www.connectionstrings.com/
找到更多连接字符串修改强>
您似乎遇到ODBC驱动程序 bitness 的问题。
尝试运行此程序以查看ODBC管理器可以看到哪些源:
import odbc
source = odbc.SQLDataSources(odbc.SQL_FETCH_FIRST)
while source:
print(source)
source = odbc.SQLDataSources(odbc.SQL_FETCH_NEXT)