我正在尝试使用Pyodbc通过python连接到数据库,如下所示:
import pyodbc
import pandas as pd
conn = pyodbc.connect('Driver={SQL Anywhere 16};'
'Server=***.**.**.***;'
'Database=**********;'
'Trusted_Connection=yes;'
)
Data = pd.read_sql_query("SELECT * FROM * WHERE Date='20180328'", conn)
print(Data)
但收到错误:
第4行,在conn = pyodbc.connect('Driver = {SQL Anywhere 16};'pyodbc.Error:('08001','[08001] [Sybase] [ODBC驱动程序] [SQL Anywhere]找不到数据库服务器( -100)(SQLDriverConnect)')
我在Windows上使用驱动程序“SQL Anywhere 16”进行ODBC配置,并且可以使用此ODBC连接通过Squirrel SQL进行连接 - 有关于此的任何想法吗?
1 回答
这看起来像你的连接字符串的问题 . 也许我错了,但它看起来像你所面临的错误是它没有找到服务器,并且基于错误它看起来几乎就像你只是传递给它的
Driver=SQL Anywhere 16
.我提到这是因为在这个问题中:Connecting to MS SQL Server with Windows Authentication using Python?
它们详细说明了答案中多行上的字符串
cnxn = pyodbc.connect(conn_str)
此外,在搜索多行字符串时,我们在此处看到此答案:How to correctly write a raw multiline string in Python?
哪些细节:
否则,第一部分被解释为原始字符串文字,但下一行字符串不是,因此'\ t'被解释为制表符 .
因此,请尝试在文字字符串的每一行前加一个r,以使其更像
并查看是否可以解决您的问题 .
编辑:我编辑修复格式 .