python找不到模块pyodbc_关于python:PYODBC-找不到数据源名称并且未指定默认驱动程序...

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)')

使用pyodbc错误从MSSQL获取数据的可能重复项

不要在连接字符串中的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关键字后放置空格。" 这个对我有用。.最初我很困惑是什么地方出了问题.. :-) +1。

我遇到了同样的问题,并修复了更改连接字符串的问题,如下所示。

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

代替

'DRIVER={SQL Server}'

我有你在这里写的方式,但仍然收到问号者所遇到的错误

您可以尝试:

import pyodbc

# Using a DSN

cnxn = pyodbc.connect('DSN=odbc_datasource_name;UID=db_user_id;PWD=db_password')

注意:您将需要知道" odbc_datasource_name"。在Windows中,您可以搜索ODBC数据源。该名称将如下所示:

数据源名称示例

附言:我不确定要为数据源名称查看哪个选项卡。

我遇到了这个问题,正在寻找解决方案。最终,我尝试了https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Windows中的所有选项,并且对于我的MSSQL 12仅" {用于SQL Server的ODBC驱动程序11}"的作品。只需一一尝试。第二个重要的事情是您必须获得正确的服务器名称,因为我很珍贵地认为在所有情况下都需要设置 SQLEXPRESS,但是发现您必须完全设置服务器属性中的内容。屏幕截图上的示例:

这使我想出答案,因为我从教程中获得了{SQL Server Native Client 11.0},而我的仅与{SQL Server}一起使用。

下面的连接字符串正在工作

import pandas as pd

import pyodbc as odbc

sql_conn = odbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=SERVER_NAME;DATABASE=DATABASE_NAME;UID=USERNAME;PWD=PASSWORD;')

query ="SELECT * FROM admin.TABLE_NAME"

df = pd.read_sql(query, sql_conn)

df.head()

请尝试以下方法:

import pyodbc

server = 'servername'

database = 'DB'

username = 'UserName'

password = 'Password'

cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)

cursor = cnxn.cursor()

cursor.execute('SELECT * FROM Tbl')

for row in cursor:

print('row = %r' % (row,))

我正在使用

Django 2.2

并在连接到sql-server 2012时遇到了相同的错误。花了很多时间来解决此问题,终于成功了。

我变了

'driver': 'ODBC Driver 13 for SQL Server'

'driver': 'SQL Server Native Client 11.0'

而且有效。

@ Aravind30790如果有帮助,请支持此解决方案。 谢谢!

对于错误:pyodbc.InterfaceError :(" IM002"," [IM002] [Microsoft] [ODBC驱动程序管理器]数据源名称未找到且未指定默认驱动程序(0)(SQLDriverConnect)")

驱动程序与事件之间没有空间

连接= Driver={SQL Server Native Client 11.0};

"Server=servername;"

"Database=dbname;"

"Trusted_Connection=yes;"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值