|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
环境:
SQL:SQL SERVER R2
Windows7 64位
Python3.6
pip 的 pymysql
数据库:
本地数据库
库名:test
账号:sa
密码:123456
端口:没改过,默认的1433
在编辑器的代码,基本都套用网上的代码:import pymysql
import pymysql.cursors
db=pymysql.connect(host="localhost",user="sa",password="123456",db="test",port=1433,charset="utf8")
cur=db.cursor()
sql="select * from test"
try:
cur.execute(sql)
results=cur.fetchall()
for row in results:
print(row)
except Exception as e:
raise e
finally:
db.close()
在IDLE的报错:
Python 3.6.1rc1 (v3.6.1rc1^0:e0fbe5feee4f9c00f09eb9659c2182183036261a, Mar 4 2017, 20:00:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import pymysql
>>> import pymysql.cursors
>>> db=pymysql.connect(host="localhost",user="sa",password="123456",db="test",port=1433,charset="utf8")
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pymysql\connections.py", line 1021, in _read_bytes
data = self._rfile.read(num_bytes)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\socket.py", line 586, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
db=pymysql.connect(host="localhost",user="sa",password="123456",db="test",port=1433,charset="utf8")
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pymysql\__init__.py", line 90, in Connect
return Connection(*args, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pymysql\connections.py", line 706, in __init__
self.connect()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pymysql\connections.py", line 931, in connect
self._get_server_information()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pymysql\connections.py", line 1245, in _get_server_information
packet = self._read_packet()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pymysql\connections.py", line 987, in _read_packet
packet_header = self._read_bytes(4)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pymysql\connections.py", line 1029, in _read_bytes
"Lost connection to MySQL server during query (%s)" % (e,))
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query ([WinError 10054] 远程主机强迫关闭了一个现有的连接。)')
看了下文档,没太明白pymysql的参数传递逻辑,查了网上的范例等也没找到原因,求指导。。。。
本帖最后由 sunnychou 于 2017-6-21 09:11 编辑
我主要在我电脑上,用我自己的数据跑了一下,把那个端口关闭了,可以正常运行 import pymysql
import pymysql.cursors
db=pymysql.connect(host="localhost",user="root",password="",db="cxt",charset="utf8")
#user='root', passwd='', host='localhost', db='cxt',charset='utf8'
cur=db.cursor()
sql="select * from pl "
try:
cur.execute(sql)
results=cur.fetchall()
for row in results:
print(row)
except Exception as e:
raise e
finally:
cur.close()
db.close()
图片是结果
有帮助的话,给我一个最佳 ![](static/image/smiley/lovely/20080925104555417.gif)
|
|