Problem z połączeniem do bazy danych MySQL z Delphi

0

Witam
Postanowiłem założyć nowy temat. I postaram się zadawać jedno konkretne pytanie, a nie milion w jednym temacie.

Tak więc mam Borland Delphi 7 Enterprise oraz Embarcadero RAD Studio XE2, na Win7 32bity.
Chcę zainstalować MySQL -> http://dev.mysql.com/downloads/installer/
Tak abym mógł tworzyć tabele i później sie z nią połączyć przy pomocy Delphi Borlanda i Embarcadero.

Robię tak:

  • Instaluję zgodnie z filmikiem

  • Uruchamiam konsole i wpisuje hasło (niby lączy)

  • Uruchamiam RAD studio i w Data Explorer w mysql wpisuje dane i daje test połączenia.
    Wyskakuje komunikat :"Borland.Data.TDBXError: DBX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, of the wrong version, or the driver may be missing from the system path."

  • W Borlandzie daje komponent SQLConnection, wpisuje dane i pisze ze nie może wczytać dllki
    Komunikat: "Unable to Load libmysql.dll."

  • mysqllib.dll skopiowalem do system32 i do katalogów bin obu programów.

  • W programie Workbench ładnie łączy z bazą.

  • Antywirusa mam odłączonego a port odblokowany

I już nie mam pomysłów co jest nie tak, Da się to uruchomić w ogóle? Jakoś bardzo mi nie zależy na tej bazie, ale jak już ją zacząłem instalować to niech chociaż działa...:(

0

Po co kopiowałeś mysqllib.dll? Ja nic nie kopiowałem tylko zainstalowałem MySql i działa.

0

Gdzieś na YT widziałem że ktoś tak robił, i w kilku miejscach (nawet tutaj na forum) żeby kopiować dll do katalogów z programem ...

Mój błąd nazwe dllki pisałem z pamięci :), ale chodzi o tę samą. A problem taki, że w Borland nie wczytuje dll, a w RAD studio w ogóle nie łączy.:(

1

zdaje się, że nie masz sterowników do MySql5, masz stare do MySql4 bo mam ten sam błąd.
Znalazłem taką stronę i tu pisze, że trzeba zainstalować z niej open source sterowniki MySql5
http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html
Ściągnij z tej strony dll-kę dbxopenmysql5.dll i skopiuj ją do folderu gdzie zawiera się twój projekt *.dpr.
Teraz możesz się połączyć z bazą z poziomu kodu:

procedure TForm1.Button1Click(Sender: TObject);
 var Connection: TSQLConnection;
    begin
      Connection := TSQLConnection.Create(nil);
      Connection.DriverName := 'dbxmysql';
      Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
      Connection.LibraryName := 'dbxopenmysql50.dll';
      Connection.VendorLib := 'libmysql.dll';
      Connection.Params.Append('Database=test');
      Connection.Params.Append('User_Name=root');
      Connection.Params.Append('Password=pass');
      Connection.Params.Append('HostName=localhost');

      Connection.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     Connection.Free;
end;

U mnie działa.

0

W sumie byłem na tej stronie, ale się przestraszyłem tego kodu i szybko ją zamknąłem. Dzięki za odpowiedź.
Jak będę łączyć z poziomu kodu to rezultaty zobaczę dopiero po skompilowaniu programu ?
Sterowniki mam raczej najnowsze bo świeżo ściągnięte ze strony MySQL.
Chyba że to jeszcze co innego ... to Borland jest stary może nie mieć.

Potwierdzam działa

PS.
Rozumiem ze jak bym zainstalował MySQL4.1 to by się bez tego obeszło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1