unable to load libmysql.dll

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by SkyLine32, 25 Apr 2010.

  1. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    Вот уже пол недели пытаюсь подключиться к MySQL на удалённом сервере, через свою программу на Delphi 7. По этому видео я всё делаю точно, когда компилирую прогу и пытаюсь подключиться, пишет unable to load libmysql.dll. Этот мать его libmysql.dll я только где не качал и куда только не пихал...
    Прошу помощи кто с эти сталкивался.
     
  2. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Какая версия MySQL на сервере?

    Почитай это: исходники там есть.
    Проверял на 2 базах 5.1 и 5.0 работают нормально. Программа вроде не просит DLLку.
    Тык

    Вот набросал под консоль:
    1. Подключается
    2. Получает все записи из таблицы animebase2.0
    3. выводит 2 строку

    PHP:
    program Project2;

    {
    $APPTYPE CONSOLE}

    uses
      Windows
    ,
      
    uMySqlVio,
      
    uMysqlCT,
      
    uMysqlClient,
      
    uMysqlHelpers;
    var
      
    MySQLClientTMySQLClient;
      
    MySQLResultTMysqlResult;
      
    result:boolean;
    begin
      MySQLClient 
    := TMySQLClient.Create;

      if 
    MySQLClient.connect('localHost','root','','animebd2.0',3306// подключаемся
      
    then
        Windows
    .MessageBox(0,'Connect OK','Message',32);

      
    MySQLResult:=MySQLClient.query('Select * From base_company',true,result); // запросить все записи с таблицы

      
    Write(MySQLResult.FieldValue(2));  // читаем 2 столбец
      
    readln;

      
    MySQLClient.Free;
      if 
    MySQLResult <> nil then
        MySQLResult
    .Free;
    end.
     
    #2 JnK, 25 Apr 2010
    Last edited: 25 Apr 2010
  3. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    читал я уже эту статью, делал всё как там, не подключается даже. MySQL version 5.0.51a
     
    #3 SkyLine32, 25 Apr 2010
    Last edited: 25 Apr 2010
  4. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Библиотека переименуй только: http://slil.ru/29030263
    Программка работы с Mysql: http://slil.ru/29030269
     
  5. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    1
    [​IMG]
    2
    [​IMG]
     
  6. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    А ты пробовал левым софтом законектиться к базе? (на пример Navicat for MySQL)

    Подозрение, что сервер MySQL имеет:
    1. Локальный доступ, тоесть можно работать только через PhpMyAdmin
    2. Не стандартные настройки типа порт 3307 или другой.
     
  7. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    через Navicat for MySQL отлично работает, но через delphi не хочет! чё за бред...
    И кстати, я не вижу где выставлять порт...
     
    #7 SkyLine32, 25 Apr 2010
    Last edited: 25 Apr 2010
  8. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Добавил ввод порта и вывод ошибки при фатал подключении: http://slil.ru/29032326
    можно ручками в предыдущем архиве измени код:
    PHP:
      if MySQLClient.connect(host,login,pass,db,3306// подключаемся
      
    then
        Windows
    .MessageBox(0,'Connect True','Message',32)
      else
        
    Windows.MessageBox(0,PAnsiChar('Connect False'+#13#10+'Error: '+MySQLClient.LastError),'Message',16);
    Теперь должен выводить конкретную ошибку почему не подключается.

    3306 - номер порта
     
    #8 JnK, 25 Apr 2010
    Last edited: 25 Apr 2010
    1 person likes this.
  9. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    Я понял что порт 3306, но где его прописывать в Delphi если через dbExpress?
    [​IMG]
    [​IMG]
    [​IMG]
    после ok окно закрывается... слушай, напиши в аську: 858106
    p.s прикол в том что даже localhost не подключается, денвер последняя версия, libmysql.dll я уже насобирал 5 штук и все разные... и все проверил :confused: :confused: :confused:
     
    #9 SkyLine32, 25 Apr 2010
    Last edited: 26 Apr 2010
  10. Serbies

    Serbies Elder - Старейшина

    Joined:
    26 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    -1
    На сколько я помню работа в с мускулем в дельфе вообще не идет используя стандартные компоненты, засим предлогаю юзать ZEOS dbo hххp://sourceforge.net/projects/zeoslib/

    адд: для работы на других машинах в папке с прожектом цепляй либмускуль требуемый
     
  11. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Проблему решили.
    Обновлением компонента, с измененой структурой под MySQL 5.
    Скачать можно тут: http://slil.ru/29032827 (Программа+Исходники+Компонент)