Autor Téma: ADOConnection  (Přečteno 6773 krát)

Offline pesto

  • Příspěvků: 3
  • Karma: 0
    • Verze Delphi: XE
ADOConnection
« kdy: 01-07-2014, 13:15:10 »
Zdravím všechny Delphisty. Mám prosbičku o pomoc s připojením k MySQL z DelphiXE. Zkoušel jsem SQLConnection, ale nadává mi kvůli chybě DLL (dle různých diskuzí jsem zkoušel DLL kopírovat do BIN, SYSTEM32 i k EXE a nic). Tak jsem zkusil ADOConnection, průvodcem sestavil ConnectionString (Zprostředkovatel MS OLE DB Provider for SQL Server). Test spojení ovšem neproběhne, po nějaké delší době to píše chybu inicializace zprostředkovatele - Server neexistuje nebo byl odepřen přístup. Přitom už.jméno, heslo a server databáze mám OK, protože se např. přes DatAdmin bez problémů připojím. Poradíte někdo ?

Offline mjseven

  • Mladík
  • **
  • Příspěvků: 64
  • Karma: 5
    • Verze Delphi: D7, D2006, XE2, Lazarus
Re:ADOConnection
« Odpověď #1 kdy: 01-07-2014, 14:27:42 »

Pokud se nepletu tak MS OLE DB Provider for SQL Server je určen pouze pro MS SQL server.

Pro MySQL budeš potřebovat ODBC driver pro MySQL.
Ke stažení by měl být zde: [size=78%]http://dev.mysql.com/downloads/connector/odbc/[/size]

Offline pesto

  • Příspěvků: 3
  • Karma: 0
    • Verze Delphi: XE
Re:ADOConnection
« Odpověď #2 kdy: 01-07-2014, 16:19:55 »
Jo, díky moc, to by mohla být dobrá stopa. Po nainstalování, když dám "Build" na ConnectionString tak se mi ale žádný nový zprostředkovatel neobjeví ... měl by ? Nebo mám dát místo Provider=SQLOLEDB.1 "ručně" jiného ... jakého ? Ještě jednou díky za pomoc  :)
« Poslední změna: 01-07-2014, 16:23:49 od pesto »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1761
  • Karma: 72
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:ADOConnection
« Odpověď #3 kdy: 01-07-2014, 19:05:11 »
Pokud pouzijes ODBC provider, tak musis jako provider vybrat ODBC a v nemvybrat pripojeni k MySQL. http://delphi.about.com/od/mysql/qt/mysqladoconn.htm
Embarcadero MVP - Czech republic

Offline hlucheucho

  • Plnoletý
  • ***
  • Příspěvků: 196
  • Karma: 2
Re:ADOConnection
« Odpověď #4 kdy: 01-07-2014, 21:53:22 »
DLL je někdy třeba přeregistrovat. Tento problém jsem měl s Midas.dll. Řešení najdeš na netu.

hu

Offline sud

  • Příspěvků: 5
  • Karma: 0
    • Verze Delphi: 7,2010,xe3
Re:ADOConnection
« Odpověď #5 kdy: 01-07-2014, 22:04:51 »
Jak psal Radek musíš buď použít ODBC connection nebo můžeš použít ZeosDB

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 420
  • Karma: 15
    • Verze Delphi: D2007, XE3
Re:ADOConnection
« Odpověď #6 kdy: 02-07-2014, 06:52:42 »
DLL sa registruju len ak su kontajnermi pre ActiveX prvky. Ale dll-ky pre MySQL pokial viem activex prvky neobsahuju. Kniznice libmysql**.dll urcite len distribuju subor funkcii. Takisto odporucam napriklad ZeosDB, UniDAC, FireDAC/AnyDAC s tymito kniznicami. Ma to tu hlavnu vyhodu ze ak tu dll-ku mas rovno pri exaci tak tu aplikaciu spustis i na uplne novo nainstalovanom windowse bez akychkolvek nutnych doplnkovych instalacii ODBC a akychkolvek inych nutnych nastavovaciek v systeme.

Offline hlucheucho

  • Plnoletý
  • ***
  • Příspěvků: 196
  • Karma: 2
Re:ADOConnection
« Odpověď #7 kdy: 02-07-2014, 09:08:12 »
Bez midas.dll připojení DB pomocí dbExpress nechodí. Zrovna tato dll občas přeregistrování vyžaduje.

U některých verzí C++ Builderu (o Delphi platí asi totéž) je podporováno připojení jen k lokální a embedded DB.

K ADO: http://forum.delphi.cz/index.php?topic=9573.0;wap2  Podle tohoto postupu jsem to rozchodil během asi 20 minut. ODBC driver pro MySQL byl součástí jejího instal. balíku nebo ho získáš na stránkách MySQL.

hu
« Poslední změna: 02-07-2014, 09:11:17 od hlucheucho »

Offline pesto

  • Příspěvků: 3
  • Karma: 0
    • Verze Delphi: XE
Re:ADOConnection
« Odpověď #8 kdy: 02-07-2014, 16:50:06 »
Stále jsem nezvítězil  :'(
Mám nainstalovaný ODBC driver pro MySQL "mysql-connector-odbc-5.3.2-win32"
a ConnectionString je
DRIVER={MySQL ODBC 5.32 Driver}; SERVER=jmeno serveru; PORT=3306; DATABASE=jmeno databaze; USER=uživatel; PASSWORD=heslo; OPTION=3;
jakmile dám Connected na true, tak vyskočí chyba "Zprostředkovatel nebyl nalezen. Pravděpodobně není sptávně nainstalován"
Instalace ODBC driveru proběhla v pořádku.
Kde je chyba ? Nemusí se ODBC driver v Delphi ještě nějak registrovat ? Když spustím "Build" průvodce na sestavení ConnectionString, tak mi to ODBC pro MySQL mezi zprostředkovateli nenabízí ...

Offline hlucheucho

  • Plnoletý
  • ***
  • Příspěvků: 196
  • Karma: 2
Re:ADOConnection
« Odpověď #9 kdy: 02-07-2014, 18:41:22 »
conection string se dá "naklikat" v Object Inspectoru. Pro první pokusy s připojením je to nejvhodnější postup.

hu

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 420
  • Karma: 15
    • Verze Delphi: D2007, XE3
Re:ADOConnection
« Odpověď #10 kdy: 03-07-2014, 08:18:59 »
funkcnost ODBC si mozes vyskusat trebarz aj v exceli, nechaj si v nom otvorit nejaku tabulku z databazy. Zvycajne som si vzdy najprv takto skusal funkcnost ODBC drivrov a az potom som s nimi zacal "bojovat" v Delphi

Offline hlucheucho

  • Plnoletý
  • ***
  • Příspěvků: 196
  • Karma: 2
Re:ADOConnection
« Odpověď #11 kdy: 10-07-2014, 15:48:25 »
Používám ADOConnection pro vzdálené připojení k MySQL. V počítači, kde mám C++ Builder, se moje aplikace ke vzdálené DB na jiném počítači připojí. Stejně funguje i Relase spouštěná dvojklikem na zástupce exe souboru. Zkusil jsem svou aplikaci přenést do jiného počítače. Vytvořil jsem stejný uživatelský zdroj dat (zdroje dat ODBC). Po kliku na Test v okně konfigurace zdroje dat bylo připojení úspěšné. Přesto se moje aplikace nepřipojí k DB, nevznikne žádná vyjímka. Pro ADOConnection používám na obou PC stejný ConnectionStrng. Kde je příčina?

hu

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1761
  • Karma: 72
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:ADOConnection
« Odpověď #12 kdy: 10-07-2014, 16:05:58 »
Ukaž ConnectionStrng.
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1839
  • Karma: 87
    • Verze Delphi: D2007, XE3, DX10
Re:ADOConnection
« Odpověď #13 kdy: 10-07-2014, 16:19:21 »
Kde je příčina?
Ma aplikace povoleny pristup k siti (port tusim 3306)?
V systemovych logach nic nepisou?

Offline hlucheucho

  • Plnoletý
  • ***
  • Příspěvků: 196
  • Karma: 2
Re:ADOConnection
« Odpověď #14 kdy: 10-07-2014, 21:05:15 »
Potřebuje aplikace přístup k síti když používá ODBC? Myslím, že ne. Ani na jednom z počítačů samotná aplikace nemá vyjímku firewallu. Firewall na straně DB serveru by znemožnil samotné nastavení zdroje dat ODBC (vyzkoušeno). ConnectionString bych nerad publikoval. Jedině zaslat mailem.

hu

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: