Железо Python: Как мне подключиться к базе данных MySQL? - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть дроплет 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, я бы хотел услышать это.

Спасибо за ваше время!

...