Застрял в соединителе. Соединитесь, пытаясь соединить внешнюю базу данных MySQL - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь вставить строку с малиновым пи в базу данных wamp, установленную на моем ПК.Оба устройства подключены к одному и тому же маршрутизатору, я сделал пользовательские привилегии для 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') никогда не вызывается, и процесс остается навсегда живым.

У вас есть идеи, что может спровоцировать такое поведение?и как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Основной причиной проблемы были настройки брандмауэра Windows 10 по умолчанию.Спасибо за поддержку.

0 голосов
/ 27 мая 2018

Попробуйте использовать:

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
...