我正在尝试在我的PC上建立的wamp数据库中插入一个带有覆盆子pi的行。两个设备都连接到同一个路由器,我已经为RPi设置了用户权限,但是当我尝试连接到数据库时,代码粘在connector.Connect函数上,并且没有异常被捕获。 这是使用过的代码:
from mysql import connector
print('0')
try:
con = connector.Connect(user='own_pi',password='password',database='tempbase',host='192.168.0.104', port=3306)
except connector.Error as e:
print("Error code:", e.errno) # error number
print("SQLSTATE value:", e.sqlstate) # SQLSTATE value
print("Error message:", e.msg) # error message
print("Error:", e) # errno, sqlstate, msg values
s = str(e)
print("Error:", s) # errno, sqlstate, msg values
print('1')
cur = con.cursor()
print('2')
cur.execute("INSERT INTO `sensor_readings` (`uid`, `local_id`, `type`, `date`, `reading`) VALUES ('7', '4', 'temperature', '2018-06-04', '24.4');")
print('3')
con.commit()
print('4')
con.close()
print('5')
永远不会调用此打印('1')行,并且该过程永远保持活着状态。
你知道什么可能引发这种行为,我该如何解决?
答案 0 :(得分:0)
尝试使用:
from mysql import connector
print('0')
try:
con = connector.Connect(user='own_pi',password='password',database='tempbase',host='192.168.0.104', port=3306)
print('1')
cur = con.cursor()
print('2')
cur.execute("INSERT INTO `sensor_readings` (`uid`, `local_id`, `type`, `date`, `reading`) VALUES ('7', '4', 'temperature', '2018-06-04', '24.4');")
print('3')
con.commit()
print('4')
con.close()
print('5')
except connector.Error as e:
print("Error code:", e.errno) # error number
print("SQLSTATE value:", e.sqlstate) # SQLSTATE value
print("Error message:", e.msg) # error message
print("Error:", e) # errno, sqlstate, msg values
s = str(e)
print("Error:", s) # errno, sqlstate, msg values
答案 1 :(得分:0)
问题的根源是Windows 10默认防火墙设置。感谢您的支持。