dbExpress i krasnal

0

Witam

Zaopatrzyłem się w książke "ćwiczenia praktyczne Delphi 2005" i wszystko było super do momentu aż doszedłem do baz danych.
Chcę użyć dbExpress aby odczytac dane z tabeli w mysql.
( serwer mysql-a - Krasnal 2.7 )
Łącze sie z bazą, moge tworzyć tabele itd , ale nie moge nic odczytać .
Przy każydym użyciu Select,
wyskakuje mi Access Violation in dbexpmysql.dll readadress 00000000

z bazy.exe wyskakuje - Invalid Field Type
(próbowałem z różnymi tabelami, zawsze to samo)

wstawiłem komponent SQLMonitor i podpiąłem TMemo żeby zobaczyć o co chodzi,
i wysypuje sie po : mysql_fetch_field -> mysql_error .

pod mysql wszystko działa ....
jakiś pomysł ?
sprawdzałem już na 2 kompach i dalej to samo.
(przerzuciłem ten post z newbie, nie wiem czy sie tu nadaje..)

0

Spróbuj wyedytowac plik dbexpmysql (powinien być w C:\Program Files\Common Files\Borland Shared\DBExpress) i wstawic odpowiednie parametry w hostname, datbase name, username i password. U mnie pomogło.

[MySQLConnection]
DriverName=MySQL
HostName=ServerName
Database=DBNAME
User_Name=user
Password=password
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000

Pozdrawiam,

0

ale ja się moge połączyć, moge nawet wykonywać operacje (INSERT, CREATE..) tylko nie moge nic wyświetlić. przy SELECT sie wysypuje. Oto dokładny wypis z logów SQLMonitor ( OnTraceLog ) :

MySQL - mysql_init
MySQL - mysql_real_connect
Select * from users
MySQL - mysql_real_query
MySQL - mysql_field_count
MySQL - mysql_use_result
MySQL - mysql_fetch_field
MySQL - mysql_error
MySQL - mysql_free_result 

i wyskakuje błąd w MessageBoxie - dbExpress Error : [0x0003] : Invalid Field Type

procedure LoadTable to już skróciłem tylko do :

SQLDataSet.CommandText:='SELECT * FROM users';
SQLDataSet.Open;
SQLDataSet.Close;

tez sie sypie, ale np. przy SELECT CURDATE() zadziała ...

MySQL v 3.23.58 , ale na 4 tez nie działało

0
oskar77 napisał(a)

Spróbuj wyedytowac plik dbexpmysql (powinien być w C:\Program Files\Common Files\Borland Shared\DBExpress) i wstawic odpowiednie parametry w hostname, datbase name, username i password. U mnie pomogło.

A jak bede chcial podlaczyc sie do innej bazy to znowu bede musial grzebac w tym pliku? Chyba to nie o to chodzi , mam ten sam problem, gdzies wyczytalem zeby 2 dlle przerzucic do katalogu z projektem i juz, ale u mnie i tak to nie dziala :(</quote>

0

I nikt nie wie, jak ten problem rozwiązać? :/ Sam natrafiłem dzisiaj na podobny.. i też nie da się go nijak przegryźć.... :?

0

na 99% masz złą wersję dbexpmysql.dll (nieodpowiednią do Twojej wersji MySQLa)

0

Wersja MySQL: 3.23.58
Wersja dbexpmysql.dll: 7.0.2.113 (dla baz MySQL 3.23.x; umieściłem ten plik w katalogu System32)

Dalej to samo... Chyba, że gdzieś indziej mam wstawić ten plik? :> A jak to nie ta wersja... to skąd mogę pobrać tą bibliotekę?

pozdr

0

W sumie, wpadłem na rozwiązanie.. dość głupie i banalne.

Otóż w komponencie SQLConnection wystarczyło tylko zmienić wartość library name właśnie na dbexpmysql.dll .... bo standardowo była jakaś inna biblioteka.. i dlatego nie działało.
Dzięki za odzew.

pozdr

0

Dzięki !

Ja sam na to nie wpadłem.

Pozdrawiam

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