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

Problemy związane z tworzeniem i zarządzaniem programami bazo-danowymi.
Regulamin działu


Zadając pytania dotyczące baz danych należy podawać szczegółowe informacje o bazie danych nad którą się pracuje, czyli:

  • Rodzaj serwera bazodanowego: MySql, MSSQL, Oracle itp.
  • Wersja bazy danych
  • Technologia bazodanowa używana w programie: ADO, DbExpress, InterBase
  • Komponenty użyte do zestawienia połączenia: ADOConnection, SqlConnection
  • Sposób zestawienia komponentów bazodanowych np. DataSet - DataSource - DbGrid lub DataSet - DataSetProvider - ClientDataSet - DataSource - DbGrid
  • Jeżeli używane były biblioteki innych firm niż Borland, CodeGeer i Embarcadero proszę podać ich nazwy, numer wersji i adres źródła.

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

Nowy postprzez mate006 » środa, 7 września 2011, 19:19

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ą??
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

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

Nowy postprzez Cyfrowy Baron » czwartek, 8 września 2011, 07:50

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.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

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

Nowy postprzez mate006 » czwartek, 8 września 2011, 18:52

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.
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

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

Nowy postprzez Cyfrowy Baron » piątek, 9 września 2011, 08:21

Przeczytaj regulamin tego działu i podaj wszystkie wymagane informacje.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

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

Nowy postprzez mate006 » wtorek, 20 września 2011, 20:46

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ć.
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

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

Nowy postprzez Cyfrowy Baron » środa, 21 września 2011, 00:14

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.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

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

Nowy postprzez Drifterwr » czwartek, 6 października 2011, 20:58

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.

Za ten post autor Drifterwr otrzymał podziękowanie od:
mate006
Avatar użytkownika
Drifterwr
Bladawiec
Bladawiec
 
Posty: 1
Dołączył(a): czwartek, 6 października 2011, 19:35
Podziękował : 0
Otrzymał podziękowań: 1
System operacyjny: Windows 7 Ultimate;
Windows XP Professional;
.
Kompilator: Emabrcadero RAD Studio XE Architect;
Borland C++ Builder 6 Enterprise;
.
Gadu Gadu: 0
    Windows XPFirefox

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

Nowy postprzez mate006 » sobota, 15 października 2011, 13:08

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?
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

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

Nowy postprzez Corvis » piątek, 28 października 2011, 09:03

Gdzie wywołujesz to zapytanie ?? W którym miejscu i jakim komponentem ?
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows VistaChrome

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

Nowy postprzez mate006 » środa, 16 listopada 2011, 14:52

Zapytanie to wywołuje w DataModule -> TSQLDataSet -> CommandText
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

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

Nowy postprzez Corvis » środa, 16 listopada 2011, 23:44

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
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows VistaChrome

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

Nowy postprzez mate006 » niedziela, 4 grudnia 2011, 14:39

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

ĄąĆćĘꣳŃńÓ󌜏źŻż
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

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

Nowy postprzez Corvis » środa, 7 grudnia 2011, 09:48

Spróbuj dodać taką linijkę:

KOD cpp:     UKRYJ  
SQLConnection1->Params->Add("ServerCharSet=cp1250");
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

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

Nowy postprzez mate006 » środa, 7 grudnia 2011, 15:31

Niestety nic to nie pomogło.
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

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

Nowy postprzez Corvis » środa, 7 grudnia 2011, 16:45

No to wpisz tam kodowanie jakiego używasz ;)
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Następna strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Bazy danych

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości

cron