DSN和SERVER关键字都没有提供Python3

Ser*_*dia 5 python dsn pyodbc python-3.x

我试图以稍微不同的方式连接到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
Run Code Online (Sandbox Code Playgroud)

上面的陈述给了我一个错误 在此输入图像描述

但如果我做同样但不使用参数,那么它工作正常:

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
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Gor*_*son 5

Windows ODBC驱动程序管理器对连接字符串中的关键字非常挑剔.他们必须立即跟随等号,因此SERVER=...会起作用,但SERVER =...不会.