Strona 1 z 3

Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: środa, 7 września 2011, 19:19
przez mate006
Witam

Próbuję się połączyć z bazą MySQL 5.5 na komputerze lokalnym za pomocą SQLConnection wszystkie parametry wpisałem poprawnie. Jednak wyświetla mi komunikat


DBX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, of the wrong version or the driver may missing from system path.



Skopiowałem plik LibMysql.dll z folderu w którym znajduję się baza do folderu z projektem i do katalogu C://windows jednak to nie pomogło

Dodam jeszcze że obecnie pracuję na kompilatorze C++ Builder XE 2010

Co jest jeszcze potrzebne by połączyć się z bazą??

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: czwartek, 8 września 2011, 07:50
przez Cyfrowy Baron
mate006 napisał(a):Skopiowałem plik LibMysql.dll z folderu w którym znajduję się baza do folderu z projektem i do katalogu C://windows jednak to nie pomogło

Dodam jeszcze że obecnie pracuję na kompilatorze C++ Builder XE 2010


Czy program bazodanowy stworzyłeś w środowisku C++Builder XE, czy 2010, bo napisałeś: C++ Builder XE 2010? Czy uruchamiasz ten program na komputerze na którym masz zainstalowane środowisko, w którym program został napisany, bo jeżeli tak to po co kopiujesz biblioteki.

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: czwartek, 8 września 2011, 18:52
przez mate006
Moim kompilatorem jest C++Builder XE, zainstalowałem sobie MySql 5.5 na komputerze gdzie mam kompilator i przy próbie

Kod: Zaznacz cały
SQLConnection->Connected = true;


wyskakuje ten błąd, przeszukiwałem google pod ten temat, jednak nic ciekawego nie znalazłem.

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: piątek, 9 września 2011, 08:21
przez Cyfrowy Baron
Przeczytaj regulamin tego działu i podaj wszystkie wymagane informacje.

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: wtorek, 20 września 2011, 20:46
przez mate006
A więc moją bazą jest MySQL wersja 5.5 używam DbExpress no i oczywiście staram się łączyć za pomocą SQLConnection.

Na razie nie zestawiałem komponentów ze sobą gdyż potrzebuję się z nią połączyć.

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: środa, 21 września 2011, 00:14
przez Cyfrowy Baron
mate006 napisał(a):Na razie nie zestawiałem komponentów ze sobą gdyż potrzebuję się z nią połączyć.


Skoro nie zestawiłeś ze sobą komponentów to nic dziwnego, że nie możesz się z tą bazą połączyć.
Poczytaj posty w tym dziale, było już o prawidłowym zestawianiu komponentów, tak by baza działała.

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: czwartek, 6 października 2011, 20:58
przez Drifterwr
Musisz zmienić plik biblioteki libmysql.dll na kompatybilny z wersją Rad Studio XE lub XE2 - oba te środowiska mają problem z obsługą dbExpress w środowisku 64 bitowym. Biblioteka *.dll musi być 32 bitowa. Możesz ją ściągnąć np. z: http://wiltonsoftware.com/download/libm ... -win32.zip. Pozdrawiam.

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: sobota, 15 października 2011, 13:08
przez mate006
Dzięki podmianie biblioteki połączyłem się z bazą, i teraz już mam zestawione komponenty w taki sposób:

SQLDataSet - DataSetProvider - ClientDataSet - DataSource - DbGrid

Wszystko mi wyświetla ok, poza jednym a mianowicie jeżeli w zapytaniu jest słowo REPLACE(tabela, co, na_co) to wyskakuje błąd:

Invalid field size


Szukałem na necie odpowiedzi czemu wyskakuje ten błąd jednak nic nie pomogło.

Zapytanie mysql jest na pewno poprawne gdyż wkleiłem je jako zapytanie SQL do phpMyAdmin i nie pokazało błędu.
Zna ktoś może przyczynę tego błędu?

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: piątek, 28 października 2011, 09:03
przez Corvis
Gdzie wywołujesz to zapytanie ?? W którym miejscu i jakim komponentem ?

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: środa, 16 listopada 2011, 14:52
przez mate006
Zapytanie to wywołuje w DataModule -> TSQLDataSet -> CommandText

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: środa, 16 listopada 2011, 23:44
przez Corvis
Wklej mi tu te zapytanie jak możesz

i podaj typ pola w którym chcesz zamianę zrobić. Chodzi mi czy jest to char, varchar

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: niedziela, 4 grudnia 2011, 14:39
przez mate006
Udało mi się to zrobić, zmieniłem tylko Metoda porównywania napisów w bazie na ucs2_polish_ci i zaczęło działać bez problemu, jednak mam kolejny problem czemu mi nie wyświetla polskich znaków tylko krzaczki w tych miejscach próbowałem z rożnymi ustawieniami w bazie zamiast wyświetlić

ĄąĆćĘꣳŃńÓ󌜏źŻż

to wyświetla

ĄąĆćĘꣳŃńÓ󌜏źŻż

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: środa, 7 grudnia 2011, 09:48
przez Corvis
Spróbuj dodać taką linijkę:

KOD cpp:     UKRYJ  
SQLConnection1->Params->Add("ServerCharSet=cp1250");

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: środa, 7 grudnia 2011, 15:31
przez mate006
Niestety nic to nie pomogło.

Re: Połączenie się z bazą za pomocą SQLConnection

Nowy postNapisane: środa, 7 grudnia 2011, 16:45
przez Corvis
No to wpisz tam kodowanie jakiego używasz ;)