Delphi и mysql - Невозможно подключиться к серверу. Может быть, требуется пользовательское соединение

0

Я кодирую приложение для своей компании, в котором я хочу анализировать результаты запроса mysql и отображать их в своем приложении, но я столкнулся с проблемой, связанной с базой данных.

IP-адрес сервера: 172.30.192.20 и перед тем, как я могу выполнить ping, мне нужно добавить маршрут на моем компьютере, что-то вроде этого

маршрут добавить 172.30.192.0 маска 255.255.255.0 172.30.192.56

где 172.30.192.56 является шлюзом

Теперь, когда я пытаюсь подключиться к 172.30.192.20, где сервер sql запускает мое приложение, вместо этого подключается к 172.30.192.56

Я кодирую приложение в delphi и использовал TmySQL

После этой тренировки я попробовал приложение под названием SQLwave. Я просто вошел в IP-адрес сервера и смог без проблем подключиться к базе данных. похоже, sqlwave использует mydac, поэтому даже я попытался использовать его, но используя параметры подключения по умолчанию, и настройка я все еще не смогла подключиться. кажется, sqlwave использует настраиваемое соединение с помощью mydac

Я просто хочу знать, что происходит с моим подключением

  • 0
    Добро пожаловать в StackOverflow, Стив. Кажется, это скорее проблема маршрутизации, чем проблема Delphi или MySql, поэтому я добавил пару тегов. Надеюсь, это поможет вам быстрее найти ответ.
  • 0
    Спасибо Мейсон. Интересно, как SQLwave (www.nerocode.com) соединяется на одной машине с одинаковыми маршрутами без проблем вообще?
Теги:
routing
dac

1 ответ

0

Я использую ADO Components. Вот небольшой (простой) пример, который вы можете попробовать...

Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;

Над строкой соединения используется драйвер MySQL ODBC 5.1 (доступный на веб-сайте MySQL, если у вас его еще нет). Измените это, чтобы отобразить адрес вашего сервера, имя базы данных, имя пользователя и пароль. Вставьте это свойство в свойство "ConnectionString" TADOQuery.

Установите этот текст SQL-объекта ADOQuery в нечто вроде

SELECT * FROM mytable

Где "mytable" - это имя существующей таблицы в вашей базе данных.

Теперь измените свойство Active Object объекта ADOQuery на True.... посмотрим, что произойдет.

Как предположил Мейсон, вы можете просто испытывать проблему с подключением, но вы никогда не знаете, мой метод может пригодиться!

Удачи!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню