Я пытался заставить некоторый исходный код работать, прежде чем я начну работать над моим приложением.У меня это работало, может быть, год назад, поэтому что-то говорит мне, что есть проблема с обновлением / версией.Но любая помощь хороша.
У меня есть Raspberry Pi с настройками apache, MariaDB, php и т. Д. И т. Д. У меня работает простая веб-страница, поэтому apache в порядке, у меня есть другая веб-страница, которая извлекает данные из таблицы.так что MariaDB в порядке (хорошо, учитывая мою проблему).У меня настроен myphpadmin, и я могу войти в систему, создать новые базы данных, пользователей и т. Д.
Теперь я хотел бы, чтобы приложение UWP взаимодействовало с базой данных, размещенной на моем пи.Я создал нового пользователя с помощью SELECT и INSERT только для определенной базы данных (надеюсь, это уменьшает проблемы с безопасностью, но я новичок, поэтому, может быть, я желаю).
Затем я также нашел файл конфигурации mariadb и прокомментировалстрока привязки адреса.Строка пропуска сети больше не находится в файле, поэтому просто проигнорировал это.(это то, что документы говорят, чтобы разрешить удаленные подключения).
Я открыл порт 3306 на моем маршрутизаторе, и у меня также есть доменное имя и использую no-ip, но я предполагаю, что это все нормально, когда работает Apacheхорошо.Увидел, что кто-то говорит о SSH, я изменил свой SSH-порт, но я не думаю, что это будет проблемой.
Затем UWP.
В прошлый раз, когда я попробовал это, мне пришлось использовать MySQL ConnectorNet 6.7.9 как более новые версии не работали с RT.Поэтому я добавил это к ссылкам проекта.
Теперь для простого тестирования соединения у меня есть кнопка и TextBlock, нажмите кнопку, чтобы попытаться подключиться и вывести исключение / результат.Попробовал conn string builder, а также просто прямую строку, ни одна из них не работает.
private void ConnectDatabase_Click(object sender, RoutedEventArgs e)
{
string ConnString;
MySqlConnection Conn;
MySqlConnectionStringBuilder Csb = new MySqlConnectionStringBuilder();
Csb.Server = "http://rnd-domain.me";
Csb.Port = 3306;
Csb.UserID = "usr";
Csb.Password = "passwd";
Csb.Database = "testdb";
ConnString = "server=http://rnd-domain.me;database=testdb;uid=usr;pwd=passwd;";
Conn = new MySqlConnection(ConnString);
try
{
Conn.Open();
DbUpdateText.Text = "connected";
Conn.Close();
}
catch(Exception ex)
{
DbUpdateText.Text = ex.Message;
}
}
Когда я нажимаю кнопку, ex.Message «Невозможно подключиться к любому из указанных хостов MySQL».В приложении нет ошибок, только это бесполезное сообщение.
Я погуглил это и потратил 80% своего воскресенья, пытаясь заставить это работать.Я добавил sslmode = none, charset = utf8, port = 3306.Я попытался использовать server = localhost или использовать свой текущий ip и даже использовать моего основного пользователя mariadb (не root).
В чем может быть проблема?
Спасибо.
Редактировать: Я просто использовал внутренний IP-адрес pi и получил новое ex.Message, понял это о SSl, добавил sslmode = none и все работает.
Так что теперь просто обойти проблему с доменным именем?