CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Połączenie z baza MySQL

Połączenie z baza MySQL

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 z baza MySQL

Nowy postprzez sebaskow » wtorek, 7 maja 2013, 00:28

Witam.

Próbuję połączyć się z bazą danych MySQL poprzez komponent TSQLConnection niestety coś chyba robię nie tak.
Ponieważ jest to baza na próbę tylko w celach szkoleniowych :) podaję dane do servera:

Server: - mysql3.ph-hos.osemka.pl
Nazwa bazy danych: - 1229967_mydatabase
Użytkownik: - 1367143719_f
Hasło: - bastion1

Proszę o pomoc.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows 7Firefox

Re: Połączenie z baza MySQL

Nowy postprzez rafalskraba » wtorek, 7 maja 2013, 08:46

Witaj,

połączyłem się z Twoją bazą danych poprzez komponenty Davart TUniConnection oraz MySQLUniProvider. Natomiast nie połączyłem się przy pomocy TSQLConnection ponieważ nie mam zainstalowanych bibliotek do baz danych SQL.

Pozdrawiam

Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows XPFirefox

Re: Połączenie z baza MySQL

Nowy postprzez Corvis » wtorek, 7 maja 2013, 10:21

Kod: Zaznacz cały
object SQLConnection1: TSQLConnection
  ConnectionName = 'MySQLConnection'
  DriverName = 'MySQL'
  GetDriverFunc = 'getSQLDriverMYSQL'
  LibraryName = 'dbxmys.dll'
  LoginPrompt = False
  Params.Strings = (
    'DriverName=MySQL'
    'HostName=mysql3.ph-hos.osemka.pl'
    'Database=1229967_mydatabase'
    'User_Name=1367143719_f'
    'Password=bastion1'
    'ServerCharSet='
    'BlobSize=-1'
    'ErrorResourceFile='
    'LocaleCode=0000'
    'Compressed=False'
    'Encrypted=False'
    'ConnectTimeout=60')
  VendorLib = 'LIBMYSQL.dll'
  Left = 312
  Top = 152
end



Skopjuj ten kod od oboject do end ctrl + c i u siebie na formie zrób ctrl + v

u mnie działa
"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 z baza MySQL

Nowy postprzez sebaskow » wtorek, 7 maja 2013, 13:28

Wkleiłem tak jak zaproponowałeś leczy chyba nie mam jakiś sterowników.
Nie wiem za bardzo skąd mogę pobrać takie sterowniki. I pytanie podstawowe czy użytkownik również będzie wymagał takich sterowników ?
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows VistaChrome

Re: Połączenie z baza MySQL

Nowy postprzez Corvis » wtorek, 7 maja 2013, 13:40

sql.png


Ja mam taką listę. Wybierasz MySQL i wypełniasz Params i wszystko działa :)

Użytkownik będzie musiał mieć biblioteki *.dll:

libmySQL.dll
dbxmys.dll
midas.dll
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
"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 z baza MySQL

Nowy postprzez sebaskow » wtorek, 7 maja 2013, 13:55

Nie mam tej ostatniej biblioteki.

Oczywiście wybrałem MySQL z listy Driver.

Mógłbyś mi załączyć te 3 biblioteki ? Oczywiście wklejam je do System32 lub do folderu gdzie znajduje się .exe ?
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows VistaChrome

Re: Połączenie z baza MySQL

Nowy postprzez Corvis » wtorek, 7 maja 2013, 14:07

midas.dll jest ci potrzebny jak używasz TClientDataSet
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House

Za ten post autor Corvis otrzymał podziękowanie od:
sebaskow
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 z baza MySQL

Nowy postprzez sebaskow » wtorek, 7 maja 2013, 16:21

Super. Działa :D
Miałem złą bibliotekę.
Dziękuję - teraz dalsza droga przez mękę. ;)
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows VistaChrome

Re: Połączenie z baza MySQL

Nowy postprzez sebaskow » środa, 8 maja 2013, 08:06

No i zaczęły się problemy. Nie mogę wysłać zapytania bo wyskakuje kolejny błąd.

Nieprawidłowa nazwa tabeli :roll:



KOD cpp:     UKRYJ  
SQLConnection1->Connected = true;
SQLQuery1->SQLConnection = SQLConnection1;

SQLQuery1->SQL->Add("SELECT * FROM 1229967_mydatabase.MarkiAut");
SQLQuery1->ExecSQL(true);
SQLQuery1->Open();

Caption = SQLQuery1->RecordCount;


Nie wiem co źle robię ?

Komunikat2.jpg
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows VistaChrome

Re: Połączenie z baza MySQL

Nowy postprzez sebaskow » niedziela, 12 maja 2013, 06:38

Proszę o pomoc bo już mi nic do głowy nie przychodzi.

Stworzyłem taki kod:

KOD cpp:     UKRYJ  
SQLConnection1->Connected = true;
SQLConnection1->Open();

SQLDataSet1->SQLConnection = SQLConnection1;

SQLDataSet1->CommandText = "SELECT * FROM 1229967_mydatabase.MarkiAut";

SQLDataSet1->Open();

        Edit1->Text = SQLDataSet1->FieldByName("Marka")->AsString;


SQLDataSet1->Close();


I program się zawiesza podczas wykonywania
KOD cpp:     UKRYJ  
SQLDataSet1->Open();


Może macie jakiś pomysł co jest nie tak ?
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows VistaChrome

Re: Połączenie z baza MySQL

Nowy postprzez Corvis » czwartek, 20 czerwca 2013, 15:33

Kod: Zaznacz cały
SQLQuery1->ExecSQL(true);


Stosuje się tylko do zapytań nie zwracających kursora. Select zwraca więc to jest błąd.

To odnośnie 1 postu

Odnośnie 2.

Straszny burdel w tym kodzie :P Mam nadzieję, że to tylko kod testowy. Czy tabela 1229967_mydatabase.MarkiAut ma dużo danych ?
"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 z baza MySQL

Nowy postprzez sebaskow » piątek, 21 czerwca 2013, 02:16

Nie. to jest bardzo mała tabela - stworzona na próbę.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows VistaChrome

Re: Połączenie z baza MySQL

Nowy postprzez Corvis » piątek, 21 czerwca 2013, 13:55

Co to znaczy zawiesza się ??

Masz jakieś komunikaty ?
"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 z baza MySQL

Nowy postprzez Cyfrowy Baron » piątek, 21 czerwca 2013, 16:14

Podaj więcej informacji, gdyż z tego kodu niemal nic nie da się wywnioskować. Skoro to baza testowa, to może ją udostępnij do testów jak i sam program.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4730
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 444
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 z baza MySQL

Nowy postprzez sebaskow » czwartek, 27 czerwca 2013, 02:07

W załączniku kod:

Ponieważ .dfm jest zablokowane:

Kod: Zaznacz cały
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 245
  ClientWidth = 472
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnClose = FormClose
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 8
    Top = 8
    Width = 137
    Height = 25
    Caption = 'Po'#322#261'cz Wykonaj SQL'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Edit1: TEdit
    Left = 8
    Top = 208
    Width = 201
    Height = 21
    TabOrder = 1
    Text = 'Edit1'
  end
  object SQLConnection1: TSQLConnection
    ConnectionName = 'MySQLConnection'
    DriverName = 'MySQL'
    GetDriverFunc = 'getSQLDriverMYSQL'
    LibraryName = 'dbxmys.dll'
    LoginPrompt = False
    Params.Strings = (
      'DriverName=MySQL'
      'HostName=mysql3.ph-hos.osemka.pl'
      'Database=1229967_mydatabase'
      'User_Name=1367143719_f'
      'Password=bastion1'
      'ServerCharSet='
      'BlobSize=-1'
      'ErrorResourceFile='
      'LocaleCode=0000'
      'Compressed=False'
      'Encrypted=False'
      'ConnectTimeout=60')
    VendorLib = 'LIBMYSQL.dll'
    Connected = True
    Left = 16
    Top = 48
  end
  object SQLDataSet1: TSQLDataSet
    DbxCommandType = 'Dbx.SQL'
    Params = <>
    Left = 16
    Top = 96
  end
end
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows VistaChrome

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 1 gość

cron