PYODBC—找不到数据源名称,未指定默认驱动程序

2024-05-23 18:52:08 发布

您现在位置:Python中文网/ 问答频道 /正文

import pyodbc
connection = pyodbc.connect('Driver = {SQL Server};Server=SIWSQL43A\SIMSSPROD43A;'
                            'Database=CSM_reporting;Trusted_Connection=yes;')

connection = pyodbc.connect('Driver = {SQL Server};Server=SIWSQL43A\SIMSSPROD43A;' pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')


Tags: importsqlserverdriverconnectconnectiondatabasereporting
3条回答

您可以尝试:

import pyodbc
# Using a DSN
cnxn = pyodbc.connect('DSN=odbc_datasource_name;UID=db_user_id;PWD=db_password')

注意:您需要知道“odbc数据源”名称。在Windows中,您可以搜索ODBC数据源。名字看起来像这样:

Data Source Name Example

不要在连接字符串中的Driver关键字后面加空格。

这在Windows上失败。。。

conn_str = (
    r'DRIVER = {SQL Server};'
    r'SERVER=(local)\SQLEXPRESS;'
    r'DATABASE=myDb;'
    r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)

。。。但这是有效的:

conn_str = (
    r'DRIVER={SQL Server};'
    r'SERVER=(local)\SQLEXPRESS;'
    r'DATABASE=myDb;'
    r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)

我遇到了同样的问题,并修复了它改变连接字符串如下。 写

'DRIVER={ODBC Driver 13 for SQL Server}'

而不是

'DRIVER={SQL Server}'

相关问题 更多 >