【问题标题】:Pymysql Windows Authentication ErrorPymysql Windows 身份验证错误
【发布时间】:2016-04-07 09:28:57
【问题描述】:

我正在尝试连接到 SQL Server Management Studio。我的代码在下面并返回错误:“init() 得到了一个意外的关键字参数 'trusted'。”我正在使用 pymysql,想使用 Windows 身份验证进行连接,并且在 64 位 Windows 机器上运行。任何帮助,将不胜感激。

编辑 - 删除信任。我现在收到的错误是“无法建立连接,因为目标机器主动拒绝了它”

import pymysql
import pymysql.cursors

conn = pymysql.connect(host = 'DESKTOP-6CIMC97') 

【问题讨论】:

  • 只是...删除trusted = True?并询问如何使用 Windows 身份验证进行连接?.
  • 我刚试过这个。我用'localhost'替换了主机,并从上面保留了服务器。错误显示为“无法建立连接,因为目标机器主动拒绝了它”
  • 我很困惑。您是连接到 SQL Server(在这种情况下 pymysql 似乎是错误的包)还是 MySQL(在这种情况下没有 Windows Auth,除非您在谈论 MySQL EE 中的扩展插件)?
  • 我有一个 python 程序需要从 sql 表中读取值。它根据这些值执行特定函数,然后在 sql 中运行存储过程。我已经设置了 python 代码,设置了 sql 表,并设置了存储过程,但是我正在努力创建 python 和我的 sql 表之间的连接。根据我的研究,我认为 pymysql 是我需要的。我有 sql server express 并使用 windows 身份验证登录。
  • pymysql 专门用于与 MySQL 通信,它不会与 MS SQL Servier 通信。也许你混淆了pymysqlpymssql?虽然实际上如果我们谈论的是使用 Windows 身份验证,那么pyodbc 可能更适合您。

标签: python database-connection pymysql


【解决方案1】:

您是否查看过 GitHub 上的示例? trusted 似乎不需要。

https://github.com/PyMySQL/PyMySQL/blob/master/example.py

#!/usr/bin/env python

from __future__ import print_function

import pymysql

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='mysql')

cur = conn.cursor()

cur.execute("SELECT Host,User FROM user")

print(cur.description)

print()

for row in cur:
   print(row)

cur.close()
conn.close()

【讨论】:

  • 是的,我读了这篇文章,然后又试了一次。它似乎不喜欢我在 conn 变量中发送的属性。对于主机,我只是复制我正在使用的 sql 服务器,我留下的端口(不知道在哪里找到它),不确定用户和密码值,因为我使用的是 Windows Auth。我将 AW2014 用于 db,因为这是我命名 Adventureworks 数据库的原因。
  • 您可以使用上面的代码编辑您的帖子并使用新的错误吗?
  • 您还需要传入凭据...看看上面的示例。
  • 这就是我卡住的地方。我没有凭据。我只是使用 Windows 身份验证。
  • 也许你需要使用上面提到的另一个库,但是看看这里的文档:pymssql.org/en/latest/faq.html#cannot-connect-to-sql-server,我的答案应该有效。
猜你喜欢
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-05
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多