【问题标题】:pyodbc.Error: Data source name not found, and no default driver specified (0) (SQLDriverConnect)')pyodbc.Error: 未找到数据源名称,并且未指定默认驱动程序 (0) (SQLDriverConnect)')
【发布时间】:2017-05-19 03:57:57
【问题描述】:

我正在尝试访问 Microsoft AZURE 付费 SQL 数据库。我正在使用以下

cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};Server=myserverhere,1433;Database=serverdb;Uid=myuidhere;Pwd={passhere};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;')

每次运行我得到的文件时,我都会按照他们的安装说明进行操作

pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')

【问题讨论】:

    标签: python sql sqlite azure pyodbc


    【解决方案1】:

    看来你是从linux连接sql server的,你得换个驱动:

    conn = pyodbc.connect(r'DRIVER={FreeTDS};SERVER=myserverhere;PORT=1433;DATABASE=serverdb;UID=myuidhere;PWD={passhere};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;') 
    

    【讨论】:

    • 是的,我现在终于设置了 FreeTDS 服务器。但是我遇到了很多问题。
    • pyodbc.Error: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server]无法连接到数据源 (0) (SQLDriverConnect)')
    • FreeTDS 是正确的,我认为您的查询字符串有问题,您可以分享您当前使用的吗?请注意,我的回答根据您的问题中的查询添加了一个参数PORT=1433
    • 知道了。愚蠢的我,我在我的服务器下添加了 tcp: 因此它向我抛出了错误:) 谢谢!
    猜你喜欢
    • 2019-08-17
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    相关资源
    最近更新 更多