我试图使用pyodbc通过下面的pyodbc通过python连接到db:
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 wherewhere 16};'pyodbc.error :('08001','[08001] [08001] [sybase] [sybase] [odbc驱动程序] 找不到(-100((sqldriverConnect('(
我在Windows上具有odbc配置,并带有驱动程序" SQL Whineware 16",我可以使用此ODBC连接通过Squirrel SQL连接 - 对此有任何想法吗?
这看起来像是您的连接字符串的问题。也许我错了,但是看起来您遇到的错误是没有找到服务器,并且基于错误,看起来几乎就像您仅将Driver=SQL Anywhere 16
传递给了它。
我提到这一点,因为在此问题中:使用python?
连接到MS SQL Server,他们详细介绍了答案中多条线上的字符串
conn_str = (
r'Driver={SQL Server};'
r'Server=.SQLEXPRESS;'
r'Database=myDB;'
r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str(
此外,在搜索多行线字符串时,我们在这里看到此答案:如何正确编写Python中的RAW MULTILINE字符串?
哪些详细信息:
您需要在每个字符串字面上需要一个r前缀
(r'one'
r'two')
'on\e\tw\o'
否则,第一部分被解释为原始字符串文字,但下一行的字符串不是,因此" t"被解释为Tab字符。
因此,请尝试将r前缀到该字符串的每一行,以使某些内容更像
import pyodbc
import pandas as pd
conn = pyodbc.connect(r'Driver={SQL Anywhere 16};'
r'Server=***.**.**.***;'
r'Database=**********;'
r'Trusted_Connection=yes;'
)
Data = pd.read_sql_query("SELECT * FROM * WHERE Date='20180328'", conn)
print(Data)
看看是否可以解决您的问题。
编辑:我编辑以修复格式。