У меня работает сервер MariaDB. Он работает должным образом при локальном входе в систему с помощью собственного клиентского программного обеспечения или при подключении с удаленного компьютера, например, через Navicat. При таком подключении он реагирует на все команды SELECT
и INSERT
, как ожидалось.
Однако я не могу заставить его отвечать на Python, и он даже не возвращает ошибку.
Вот тестовый код:
#!/usr/bin/python
import mysql.connector as mariadb
# import mariadb
class dbQuery:
def __init__(self):
try:
self.mariadb_connection = mariadb.connect(host='127.0.0.1', port=8457, user='root', password='XXXXX', database='empowerment')
self.cursor = self.mariadb_connection.cursor()
except:
print("Error")
def query(self):
query = "SELECT 1+1;"
try:
ans = self.cursor.execute(query)
except:
print("Error")
print("ans1: ",ans)
return ans
def __del__(self):
self.mariadb_connection.close()
thisQuery = dbQuery()
ans = thisQuery.query()
print("ans2: ",ans)
ans1 и ans2 печатают None
как с mysql .connector, так и с (beta) mariadb коннектором. Ни одно из исключений никогда не выбрасывается. Если я print
переменные соединения или курсора, кажется, что они имеют допустимое содержимое в соответствующих точках кода. Только вывод execute
кажется неправильным. Это на Raspberry Pi OS, если это важно.
Что мне может не хватать?