这是一个相当普遍的问题,但是即使使用SO like here上的答案,但我仍然无法连接。
当我建立与null
的连接时,我可以连接以下内容:
pyodbc
,并且有效。
但是在cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=ip,port;DATABASE=db;UID=user;PWD=pass')
cursor = cnxn.cursor()
cursor.execute("some select query")
for row in cursor.fetchall():
print(row)
中执行.read_sql()
时,我需要与pandas
连接。
我尝试使用托管连接和直通pyodbc连接,如下所示:
sqlalchemy
我尝试使用quoted = urllib.parse.quote_plus('DRIVER={SQL Server Native Client 11.0};Server=ip;Database=db;UID=user;PWD=pass;Port=port;')
engine = sqlalchemy.create_engine('mssql+pyodbc:///?odbc_connect={}'.format(quoted))
engine.connect()
格式和上面单独的SERVER=ip,port
参数,但还是没有运气。
我得到的错误是Port=port
非常感谢您的帮助。
答案 0 :(得分:1)
我假设您想创建一个 DataFrame ,所以当您拥有cnxn
时,可以将其传递给 Pandas read_sql_query
函数。
示例:
cnxn = pyodbc.connect('your connection string')
query = 'some query'
df = pandas.read_sql_query(query, conn)