【问题标题】:Connecting to SQL Server Using pypyodbc使用 pypyodbc 连接到 SQL Server
【发布时间】:2017-01-04 15:29:00
【问题描述】:

我正在尝试使用 pypyodbc 在 python 中访问 SQL,这是我得到的代码:

import pypyodbc as pyodbc
db_host = host
db_name = name
db_user = user
db_password = password
connection_string = ("DRIVER={SQL Server};SERVER=" + (db_host) + ";DATABASE=" + (db_name) + ";UID=" + (db_user) + ";PWD=" + (db_password) + ";Trusted_Connection=yes;")
db = pyodbc.connect(connection_string)

当我尝试连接时,出现以下错误:

pypyodbc.DatabaseError: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.')

我已尝试以多种不同方式更改连接字符串,但每次仍会产生相同的错误。这是一个学校项目的工作,所以我正试图从学校系统访问 SQL 服务器,所以我能想到的唯一一件事就是防火墙和连接有问题.

任何帮助或建议将不胜感激。干杯。

【问题讨论】:

  • 先尝试“telnet
  • 应该在哪里添加?
  • 您的 SQL Server 服务是否在计算机上运行?检查任务管理器/服务。或者,您可以在 Management Studio 中打开数据库吗?最后,用户可能无法访问它。检查 SSMS 中的登录信息。
  • 服务器由第三方外部托管
  • telnet <hostname> <port> 需要从命令行(*nix 或 DOS)运行。例如:telnet mysqlserver.domain.com 1433。这会告诉你它是否可以连接(如果它说连接,你很好,否则它会一直尝试连接)。

标签: python sql sql-server pyodbc pypyodbc


【解决方案1】:

如果您对 pyodbc 不特别感兴趣,可以通过 pymssql 提供一种可行的解决方案:-

import pymssql
import _mssql

# Connect to SQL
db_host = host
db_port = port
db_user = user
db_password = password

Conn = pymssql.connect(server=db_host,user=db_user,password=db_password, port=db_port)  

【讨论】:

  • 我最初尝试使用 pymssql,但我无法使用,因为我正在使用的学校系统不允许我安装它。
【解决方案2】:

连接字符串正确。
检查hostnameuserpassword

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    相关资源
    最近更新 更多