Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection

[es] :: Pascal / Delphi / Kylix :: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection

[ Pregleda: 5245 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mmijic
Mario Mijic
FTM d.o.o. - Tehnicar - Informaticar
Novi Travnik

Član broj: 96699
Poruke: 7
*.tel.net.ba.

Sajt: www.studio-level.com


Profil

icon Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection02.06.2006. u 07:54 - pre 217 meseci
Nabavio sam Borland Developer Suite 2006, imam od prije instaliran AppServ 2.5.5 sa MySQL serverom 5.0.16. Sada se iz Delphija hocu spojiti na MySQL bazu.
Naime koristim dbExpress komponente za spajanje. spojim se na server sa TSQLConnection, odaberem potreban driver te postimam sto je potrebno, nakon toga testiram konekciju i kaze mi da je sve uredu. Ali kad koristim TSQLTable da se povezem na tabelu u bazi, nece da mi prikaze ni jednu, znaci odaberem konkeciju ali tabela nema.

Ima li tko da mi moze pomoci u vezi ovoga?
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection02.06.2006. u 08:45 - pre 217 meseci
Za TSQLTable ukucaj sam naziv tabele iz baze u TableName,
naravno, takva tabela u bazi mora stvarno da postoji.
Postavi Active na True za TSQLTable i ako ne prijavi grešku,
onda je sve u redu.
Ako ne radi probaj i sa TSQLQuery pa opiši detaljnije problem.

Inače, postoje problemi sa drajverima za MySQL u zavisnosti od verzije,
pa pogledaj i forum za MySQL i Delphi:
http://forums.mysql.com/read.php?49,81834,81834#msg-81834
 
Odgovor na temu

mmijic
Mario Mijic
FTM d.o.o. - Tehnicar - Informaticar
Novi Travnik

Član broj: 96699
Poruke: 7
*.tel.net.ba.

Sajt: www.studio-level.com


Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection02.06.2006. u 08:51 - pre 217 meseci
Probavao sam vec prije upisivati sam naziv tabele koja vec postoji u bazi, i kad je hocu staviti na active, javi mi gresku u driverima.
 
Odgovor na temu

mmijic
Mario Mijic
FTM d.o.o. - Tehnicar - Informaticar
Novi Travnik

Član broj: 96699
Poruke: 7
*.tel.net.ba.

Sajt: www.studio-level.com


Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection02.06.2006. u 09:38 - pre 217 meseci
Probao sam sa tim novim driverima, uspio sam se konektovati na bazu, u TSQLTable upisem rucno ime tabele jer ih opet nema, kad pokusam ukljuciti Active=True javi mi gresku

"dbExpress Error:[0x0005]: Operation Not Supported."

Kad kliknem na details dobijem ovo:

+ $19[523002CC]{dbrtl100.bpl} DB.DB.DatabaseError (Line 2479, "DB.pas" + 3) + $19
+ $5[52BC0D96]{dbexpress100.bpl} SqlExpr.SqlExpr.TCustomSQLDataSet.SQLError (Line 5548, "SqlExpr.pas" + 35) + $5
+ $6[52BC3A9C]{dbexpress100.bpl} SqlExpr.SqlExpr.TCustomSQLDataSet.CheckPrepareError (Line 6630, "SqlExpr.pas" + 4) + $6
+ $2[52BC10A2]{dbexpress100.bpl} SqlExpr.SqlExpr.TCustomSQLDataSet.OpenCursor (Line 5606, "SqlExpr.pas" + 5) + $2
+ $2[52BC6E45]{dbexpress100.bpl} SqlExpr.SqlExpr.TSQLTable.OpenCursor (Line 7888, "SqlExpr.pas" + 1) + $2
+ $0[51F2AC1E]{rtl100.bpl } TypInfo.TypInfo.SetOrdProp (Line 1318, "TypInfo.pas" + 27) + $0
+ $6[20EED30A]{designide100.bpl} DesignEditors.DesignEditors.TEnumProperty.SetValue (Line 1402, "DesignEditors.pas" + 5) + $6
+ $16[20EEB99C]{designide100.bpl} DesignEditors.DesignEditors.TPropertyEditor.Edit (Line 671, "DesignEditors.pas" + 11) + $16
+ $5[20C943EA]{coreide100.bpl} PropInsp.PropInsp.TPropertyInspector.PropListEditDblClick (Line 837, "PropInsp.pas" + 20) + $5
+ $A[20FCD681]{vclide100.bpl} IDEInspListBox.IDEInspListBox.TInspListBox.DoEditDblClick (Line 981, "ideinsplistbox.pas" + 2) + $A
+ $6[5203C998]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7242, "Controls.pas" + 101) + $6
+ $4[20FCC857]{vclide100.bpl} IDEInspListBox.IDEInspListBox.TPropInspEdit.WndProc (Line 431, "ideinsplistbox.pas" + 7) + $4
+ $0[51F40BB0]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11572, "classes.pas" + 8) + $0
+ $6A[77D48731]{USER32.dll } GetDC + $6A
+ $14A[77D48811]{USER32.dll } GetDC + $14A
+ $122[77D489C8]{USER32.dll } GetWindowLongW + $122
+ $A[77D48A0B]{USER32.dll } DispatchMessageW + $A
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
*.suonline.net.



+1 Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection02.06.2006. u 10:05 - pre 217 meseci
Ako ne mora dbExpress, Zeos komponente rade sa mysql-om (i sa firebird, interbase, mssql, oracle, postgresql, sqlite, i sybase)
http://sourceforge.net/projects/zeoslib/

ili javi ako ce ti pomoci driver za ODBC
 
Odgovor na temu

mmijic
Mario Mijic
FTM d.o.o. - Tehnicar - Informaticar
Novi Travnik

Član broj: 96699
Poruke: 7
*.tel.net.ba.

Sajt: www.studio-level.com


Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection02.06.2006. u 11:17 - pre 217 meseci
ODBC mi nije pomogao. A Zeos komponete ne mogu instalirati, pri kompajliranju javlja puno gresakal, neke sam uspio zaobici, ali dosao sam do jedne gdje kaze kao nesto da negdje ima deklarirane 42 varijable, a u fileu se koristi samo 38, nisam siguran za ovo sta je problem, samo znam da ne mogu instalirati Zeos komponente.
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection02.06.2006. u 18:55 - pre 217 meseci
Citat:
mmijic: Probao sam sa tim novim driverima, uspio sam se konektovati na bazu, u TSQLTable upisem rucno ime tabele jer ih opet nema, kad pokusam ukljuciti Active=True javi mi gresku

Daj malo detaljnije kako si postavio parametre za TSQLConnections, koristiš li lokalno, na istom računaru,
gdje si sve kopirao dll-ove... Kakva je struktura tabele koju probavaš da učitaš (napravi neku vrlo jednostavnu,
samo za probu)
Ako imaš stariju verziju MySQL 4.0.x bilo bi dobro da probaš i sa njom i sa starim dll koji dolazi uz Delphi.
Ne koristim trenutno MySQL pa nisam ni probao one drajvere... Inače, sa onim drajverom neće ti ni
prikazivati automatski imena tabela, moraš sam unositi.

 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection03.06.2006. u 11:06 - pre 217 meseci
@mmijic
Upravo sam probao onaj drajver za dbExpress za koji sam ti dao link,
u kombinaciji sa MySQL 5.0.15 verzijom (mislim da treba da radi i sa onom verzijom
koju ti imaš).
Nisam duže testirao, ali sa jednostavnom tabelom koju sam na brzinu sklepao, sve radi normalno.
Dodao sam i povezao i SQLQuery, Provider, ClientDataSet, DataSource i
još DBGrid na Formu i probao upis, izmjenu i brisanje i nisam imao nikakvih
problema.
Ipak, testiraj malo u stvarnom okruženju, sa malo većom bazom...
 
Odgovor na temu

mmijic
Mario Mijic
FTM d.o.o. - Tehnicar - Informaticar
Novi Travnik

Član broj: 96699
Poruke: 7
*.adsl-mo.bih.net.ba.

Sajt: www.studio-level.com


Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection03.06.2006. u 14:31 - pre 217 meseci
Evo malo detaljnije sta i kako koristim.
Koristim AppServ 2.5.4a mozete pogledati detaljnije informacije na http://www.appservnetwork.com/, u biti s AppServ programom dolaze vec konfigurirani Apache 2.0.55, MySQL 5.0.16, PHP 5.1.1 te phpMyAdmin-2.6.4-pl4. Nakon toga koristim phpMyAdmin za kreiranje MySQL baza. i to sve radi sto se tice web stranica, PHP-a i MySQL-a.

Ali inace radio sam sa Delphijem 7 i koristio MIcrosoft Access baze podataka u programima jer do nedavno nisam imao pojma o MySQL-u. Sada kad znam dovoljno, znam i da je puno lakse neke stvari uraditi sa MySQL-om nego ADO bazama podataka, takodjer znam da je moguce i u Delphiju 7 spojiti se na MySQL bazu, ali to nikada nisam probao. Nedavno sam nabavio Borland Developer Suite 2006 i hocu sve buduce sto budem pravio da radi na MySQL bazi podataka.

Napravio sam novu tabelu pod imenom "proba", u njoj tabelu "proba1" i u tabeli kolonu "proba2" koja ima vrijednost VARCHAR=255

Evo parametri za TSQLConnection:

GetDriverFunc=getSQLDriverMYSQL50
LibraryName=dbxopenmysql50.dll
VendorLib=libmysql.dll
HostName=localhost
Database=DBNAME
User_Name=MOJ_USER
Password=MOJ_PASS
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Compressed=False
Encrypted=False

Sve koristim lokalno, na jednom racunaru je sve, I BDS2006 i MySQL server

Dll sam kopirao u "C:\Program Files\Borland\BDS\4.0\Bin\dbxopenmysql50.dll", libmysql.dll se nalazi u "C:\Windows\System32\libmysql.dll"

Probavao sam i sa MySQL serverom 4.0.xx i sa 5.0.16 sa starim i novim driverima. cak sam probavao i ovo:

Code:

var
  Connection: TSQLConnection;
begin
  Connection := TSQLConnection.Create(nil);
  Connection.DriverName := 'MySQL';
  Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
  Connection.LibraryName := 'dbxopenmysql50.dll';
  Connection.VendorLib := 'libmysql.dll';
  Connection.Params.Append('Database=NAME_OF_DATABASE);
  Connection.Params.Append('User_Name=NAME_OF_USER');
  Connection.Params.Append('Password=PASSWORD');
  Connection.Params.Append('HostName=localhost');
  Connection.Open;

  Connection.GetTableNames (ListBox1.Items, False);

  Connection.Free;
end;


Ovu proceduru sam stavio na TButton.OnClick i opet mi izbaci istu gresku. "dbExpress Error:[0x0005]: Operation Not Supported."

Pokusavao sam i sa rucnim upisivanjem imena tabele ali kod mene izgleda jednostavno da ne radi.

Eto ako vam treba jos nekih podataka recite, pokusat cu sve.

delalt ako ti nije problem da mi posaljes na mail tu bazu koju si napravio i taj projekt u Delphiju da probam hoce li raditi kod mene, mozda ipak ja radim nesto pogresno. Ako ti nije problem probaj zapakovati sve sto mislis da mi je potrebno svi .dll-ovi koji mi trebaju, sve...
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection03.06.2006. u 19:13 - pre 217 meseci
Mislim da sam našao problem. Onaj drajver stvarno ne radi sa TSQLTable komponentom.
U stvari možda i radi ako bi se nešto kodom podešavalo, nisam probao.
Ja sam u stvari stalno koristio kombinaciju:
Citat:
delalt:
Nisam duže testirao, ali sa jednostavnom tabelom koju sam na brzinu sklepao, sve radi normalno.
Dodao sam i povezao i SQLQuery, Provider, ClientDataSet, DataSource i
još DBGrid na Formu i probao upis, izmjenu i brisanje i nisam imao nikakvih
problema.

Znači, izbaci TSQLTable a ubaci TSQLQuery, postavi GetMetadata na False i za SQL ukucaj:
Code:
SELECT * FROM PROBA1;

Ništa i ne gubiš, komponenta TSQLQuery je samo fleksibilnija, a obije su jednosmjerne,
tako da moraš da koristiš i TClientDataSet.
Za TSQLConnection možeš i statički a i kodom da podesiš:
Code:
SQLConnection1.Connected := False;

SQLConnection1.ConnectionName := '';
SQLConnection1.DriverName := 'dbxmysql';
SQLConnection1.GetDriverFunc := 'getSQLDriverMYSQL50';
SQLConnection1.LibraryName := 'dbxopenmysql50.dll';
SQLConnection1.VendorLib := 'libmysql.dll';
SQLConnection1.Params.Values['Database'] := 'Proba';
SQLConnection1.Params.Values['User_Name'] := 'MOJ_USER';
SQLConnection1.Params.Values['Password'] := 'MOJ_PASS';
SQLConnection1.Params.Values['HostName'] := 'localhost';

SQLConnection1.Connected := True;

Probaj još da dbxopenmysql50.dll, libmysql.dll (od verzije MySQL-a koju koristiš), a i midas.dll
kopiraš u folder gdje ti je i tvoj exe fajl, za svaki slučaj.
Ako ti treba baš TSQLTable potraži nekakav drugi drajver, ima ih još...
 
Odgovor na temu

mmijic
Mario Mijic
FTM d.o.o. - Tehnicar - Informaticar
Novi Travnik

Član broj: 96699
Poruke: 7
*.tel.net.ba.

Sajt: www.studio-level.com


Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection05.06.2006. u 10:14 - pre 217 meseci
Probao sam sa Queryem kompajlirao ga nije mi izbacio nikakvu gresku, ali nisam uspio natjerati TClientDataSet i nisam uspio TDBGrid povezati s tabelom. Ne bi me cudilo da ja negdje grijesim. Ajde ako ti nije problem molim te da napravis neki jednostavan projekt u Delphiju pa da mi ga posaljes, da vidim konkrentno na primjeru sta mi je ciniti.
naravno ako ne trazim puno.
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection05.06.2006. u 12:59 - pre 217 meseci
Ako već nisi ranije koristio ClientDataSet, onda ćeš sigurno imati još
pitanja, evo jedan link sa kratkim tutorijalima vezanim za dbExpress.
http://delphi.about.com/od/database/a/dbexpressguide.htm
Tamo imaš i slikovito prikazane i objašnjene veze među komponentama.
Neki od ovih tutorijala su vezani za starije verzije Delphija, ali ih obavezno pogledaj.

Ako si TSQLConnection i TSQLQuery povezao i natjerao da rade, onda
tu nemoj ništa više da mijenjaš. Sve ove druge komponente se kaskadno
vezuju jedna na drugu i čim ih povežeš to bi trebalo da radi.

Znači:
TSQLConnection <- TSQLQuery <- TDatasetProvider <- TClientDataSet <- TDataSource <- TDBGrid

i još samo:
Code:
ClientDataSet1.Active := True; 

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Borland Developer Suite 2006 - Delphi for Win32 - MySQL Connection

[ Pregleda: 5245 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.