У меня есть дроплет DigitalOcean, работающий на сервере MySQL, который работает отлично. Я пытаюсь подключиться к этому серверу с помощью настольного приложения Iron Python в Visual Studio.
Вот мой код для подключения к базе данных:
import wpf
import clr
clr.AddReference('System.Data')
from System.Data import DataSet
from System.Data.Odbc import OdbcConnection, OdbcDataAdapter
from System.Windows import Application, Window
class MyWindow(Window):
def __init__(self):
wpf.LoadComponent(self, 'Vulpes.xaml')
connectString = "Server=***.***.***.***;Database=****;Uid=root;Password=****"
query = "SELECT * FROM users"
connection = OdbcConnection(connectString)
adaptor = OdbcDataAdapter(query, connection)
dataSet = DataSet()
connection.Open()
adaptor.Fill(dataSet)
connection.Close()
if __name__ == '__main__':
Application().Run(MyWindow())
Проблема здесь заключается в the connection.Open () и connection.Close (функции), если я закомментирую эти части, все прекрасно работает. Имя пользователя, адрес сервера, пароль и имя базы данных - все правильно, и запрос является правильным запросом.
Я думаю, что мой метод просто устарел, и хотя я бы хотел сделать что-то более современное, Iron Python поддерживает только очень ограниченное количество модулей Python, и поэтому я не могу найти другой способ сделать это таким образом. В их документации нет даже списка всех поддерживаемых модулей, так что вам просто нужно просмотреть MySQL модули и выполнить метод проб и ошибок.
Если у кого-то есть лучший способ подключения к MySQL DB через Iron Python, я бы хотел услышать это.
Спасибо за ваше время!