Топ-опубликованное обновление: извинения за топ-пост; старый вопрос все еще ниже по истерическим причинам, но все изменилось. Теперь это скорее вопрос Delphi, чем вопрос MySql.
Я обнаружил, что из командной строки я могу получить доступ к удаленной базе данных MySql с помощью
mysql.exe -h 192.168.89.128 -u my_user -p
Похоже, я правильно настроил удаленный сервер.
Однако, когда я пытаюсь сделать это из Delphi с
AdoConnection.LoginPrompt:=False;//dont ask for the login parameters
AdoConnection.ConnectionString :=
Format(MYSQL_CONNECT_STRING,[ConfigurationForm.GetServerIpAddress() + ':3306',
DataBase,
ConfigurationForm.GetUserName(),
ConfigurationForm.GetPassword()]);
AdoConnection.Connected := True; //open the connection
, который дает ConnectionString
Driver={MySQL ODBC 5.1 Driver};
Server=192.168.89.128:3306;
Database=mysql;User=my_user;
Password=my_password;Option=3;
Я получаю исключение
"Unknown MySql server host '192.168.89.128:3306' (11004)"
Может у меня есть halpz?
Обновление и ответ: на всякий случай, если кто-нибудь погуглит и найдет это.
Проблема была с моей Строкой Соединения.
Я добавлял порт к хосту Server=192.168.89.128:3306;
, когда я должен был указать их отдельно, т. Е. Server=192.168.89.128;Port=3306;
, так что моя полная строка подключения
Driver={MySQL ODBC 5.1 Driver};
Server=192.168.89.128;
Port=3306;
Database=mysql;
User=eLogger;
Password=bct_eLogger;
Option=3;
Прошу прощения у тех, кто заколдовал не то дерево, чтобы попытаться помочь мне. Я надеюсь, что это, в свою очередь, поможет бедному Delphi-кодеру. Смотри также http://delphi.about.com/od/mysql/qt/mysqladoconn.htm