当我试图连接到SQL服务器时,出现错误“TypeError:类型'NoneType'的参数不可迭代。我相信这个错误是在我连接到SQL服务器本身的线上生成的,因为我的第二个打印语句从未被使用过,尽管我可能是错的。当连接到SQL服务器时,Python pymssql错误“TypeError:类型'NoneType'的参数不可迭代”
我使用pymysql-2.1.3和3.5.1蟒
server = getenv("####")
user = getenv("####")
password = getenv("####")
database = getenv("####")
print("hi")
conn = pymssql.connect(server, user, password, database)
print("hi2")
cursor = conn.cursor()
cursor.execute("####"
"SELECT Name, SourceTable, SourceTableID FROM dbo.Attachment WHERE Name LIKE '%icad%'")
conn.close()
print("Connect to SQL complete")
这就导致错误:
Traceback (most recent call last):
hi
File "C:/convert.py", line 62, in <module>
connect_to_sql()
File "C:convert.py", line 15, in connect_to_sql
conn = pymssql.connect(server, user, password, database)
File "pymssql.pyx", line 635, in pymssql.connect (pymssql.c:10734)
File "_mssql.pyx", line 1902, in _mssql.connect (_mssql.c:21821)
File "_mssql.pyx", line 552, in _mssql.MSSQLConnection.__init__ (_mssql.c:5891)
TypeError: argument of type 'NoneType' is not iterable
Process finished with exit code 1
我不知道为什么会这样 - 的连接函数完全遵循pymssql文档。
我进口下列库,如果有帮助:
import os
from os import getenv
import pymssql
import subprocess
我已经在这个问题上删除的数据库凭据,但是我知道他们的工作,因为我能够通过管理Studio连接到SQL服务器。
有谁知道为什么这段代码不起作用?
该代码包含在一个名为'connect_to_sql():'的函数中,然后用于以后,但以下代码中的一部分非常敏感,所以我只剪切了这些特定的代码。我希望这已经足够了。
您是否正在使用pymssql的2.x版本? – Pedru
是的,我使用的版本是pymssql-2.1.3。更新问题。 –
您是否在调用pymssql.connect()之前尝试打印出凭证?也许你正在传递一些意想不到的结果 – Pedru