我正在尝试以稍微不同的方式连接到 SQL 数据库:使用和不使用参数。为什么不使用参数工作正常,但使用参数 - 给我一个错误。我犯了语法错误吗?我仔细检查了每个字母,但什么也看不到。
import pandas as pd
import pyodbc
#parameters:
server = 'SQLDEV'
db = 'MEJAMES'
#Create the connection
conn = pyodbc.connect('DRIVER={SQL Server};server =' + server + ';DATABASE = ' + db + ';Trusted_Connection=yes;')
# query db
sql = """
select top 10 PolicyNumber, QuoteID, ProducerName from tblQuotes
"""
df = pd.read_sql(sql,conn)
df
但是,如果我这样做但不使用参数,那么它就可以正常工作:
import pandas as pd
import pyodbc
#parameters:
#server = 'SQLDEV'
#db = 'MEJAMES'
#Create the connection
conn = pyodbc.connect("DRIVER={SQL Server};server=SQLDEV;database=MEJAMES;Trusted_Connection=yes;")
# query db
sql = """
select top 10 PolicyNumber, QuoteID, ProducerName from tblQuotes
"""
df = pd.read_sql(sql,conn)
df
原文由 Serdia 发布,翻译遵循 CC BY-SA 4.0 许可协议
Windows ODBC 驱动程序管理器对连接字符串中的关键字非常挑剔。它们后面必须紧跟等号,所以
SERVER=...
会起作用,但SERVER =...
不会。