繁体   English   中英

pyodbc连接SQL Server 2012问题

[英]pyodbc connecting to SQL Server 2012 problems

下面是回溯。 我已经阅读了所有其他 SO 线程,用谷歌搜索了两个多小时,但无法弄清楚。 这是我尝试过的:

  • 连接字符串的 SQL 身份验证和 Windows 身份验证版本。
  • 使用 SQL Server 名称(文本)以及服务器的 IP 地址
  • 包括和排除端口 1443(SQL 服务器的默认 tcp/ip 端口)
  • 在 Windows 防火墙中创建新规则以允许端口 1443 上的入站/出站 TCP
  • 项目清单

    回溯(最近一次调用):文件“pythonscript.py”,第 75 行,在 conn = pyodbc.connect(driver='{SQL Server}', server='ipaddress,1443', database='master', uid= 'XYZ\\login', pwd='password') pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝。(17) ( SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server 驱动程序][DBNETLIB]ConnectionOpen (Connect()).(53)'

以下是我为连接字符串尝试过的一些示例:

conn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = '1.1.1.1,1443', database = 'master')

然后

conn = pyodbc.connect(driver='{SQL Server}', server='1.1.1.1,1443', database='master', uid='xyz\login', pwd='pwd'

然后我还使用服务器名称(文本)而不是 IP 地址尝试了上述两种方法。 我不知道如何让它在这一点上工作。

您是否确认服务器之间有连接? 尝试远程登录 -

telnet 服务器名称 1433

如果连接成功,那么您可以专注于 Python 或连接字符串的问题。

在您的连接字符串中,将其更改为使用 PORT 参数而不是 ,1433。 就像是 -

服务器=1.1.1.1;端口=1433;

我还要说你最好传递整个字符串。 这是我通常使用 FreeTDS 在 Linux 上所做的 -

self.db_connection = pyodbc.connect("DRIVER=FreeTDS;SERVER=1.1.1.1;PORT=1433;DATABASE=myDB;UID=myUser;PWD=myPass;TDS_Version=8.0;")

从 WINDOWS 到 MS SQL SERVER 数据库的连接:

这里有一个示例,我使用自己的 Python 脚本连接到 MS SQL 数据库表:

import pyodbc
server = 'ip_database_server'
database = 'database_name'
username = 'user_name'
password = 'user_password'
driver = '{SQL Server}' # Driver you need to connect to the database
port = '1433'
cnn = pyodbc.connect('DRIVER='+driver+';PORT=port;SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+
                 ';PWD='+password)
cursor = cnn.cursor()

如果您尝试从 Windows 设备连接到数据库,请从Windows转到 ODBC 数据源管理,并检查您是否已安装驱动程序

Windows 机器中的 ODBC 数据源管理员在哪里。

Windows 中的 ODBC 数据源管理

图像是西班牙语,但您只需单击“驱动程序”选项卡,然后检查驱动程序是否如图像所示。

从 LINUX/UNIX 到 MS SQL SERVER 数据库的连接:

如果您在Linux/Unix中工作,那么您应该安装一个 ODBC 管理器,如“ FreeTDS ”和“ unixODBC ”。 要配置它们,您可以在以下链接中找到一些示例:

示例:从 Linux/Unix 连接到 Microsoft SQL Server

示例:安装和配置 ODBC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM