Newsgroup: it.comp.lang.delphi
Titolo: Interfacciare MySQL e Delphi

Salve... probabilmente farò una domanda banale ma sono alle prime armi e sto
avendo qualche difficoltà per interfacciare i database MySQL con Delphi6.
Ho installato Delphi 6, ho installato MySQL 4.0.12 e ho provato a usare i
componenti DbExpress per la connessione dell'applicazione al database. Più
precisamente, ho:
inserito componente TSQLConnection
nell'object inspector ho settato il driver name su mysql. Automaticamente
delphi setta GetDriverFunc su getSQLDriverMYSQL, e libraryName su
dbexpmys.dll, Vendor Lib su LIBMYSQL.dll
Se a questo punto provo a settare la proprietà connected su True mi da il
seguente errore: "Unable to load LIBMYSQL.DLL"
Allora sono andato su 
www.mysql.org
 e ho trovato dei driver ODBC specifici
per mysql, che andrebbero integrati con delphi usando questo codice:
fReg:= TRegistry.Create;
  fReg.OpenKey('\Software\ODBC\ODBC.INI\DocumentsFab', True);
  fReg.WriteString('Database', 'Documents');
  fReg.WriteString('Description', ' ');
  fReg.WriteString('Driver', 'C:\WINNT\System32\myodbc.dll');
  fReg.WriteString('Flag', '1');
  fReg.WriteString('Password', '');
  fReg.WriteString('Port', ' ');
  fReg.WriteString('Server', 'xmark');
  fReg.WriteString('User', 'winuser');
  fReg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', True);
  fReg.WriteString('DocumentsFab', 'MySQL');
  fReg.CloseKey;
  fReg.Free;
  Memo1.Lines.Add('DATABASE NAME=');
  Memo1.Lines.Add('USER NAME=');
  Memo1.Lines.Add('ODBC DSN=DocumentsFab');
  Memo1.Lines.Add('OPEN MODE=READ/WRITE');
  Memo1.Lines.Add('BATCH COUNT=200');
  Memo1.Lines.Add('LANGDRIVER=');
  Memo1.Lines.Add('MAX ROWS=-1');
  Memo1.Lines.Add('SCHEMA CACHE DIR=');
  Memo1.Lines.Add('SCHEMA CACHE SIZE=8');
  Memo1.Lines.Add('SCHEMA CACHE TIME=-1');
  Memo1.Lines.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
  Memo1.Lines.Add('SQLQRYMODE=');
  Memo1.Lines.Add('ENABLE SCHEMA CACHE=FALSE');
  Memo1.Lines.Add('ENABLE BCD=FALSE');
  Memo1.Lines.Add('ROWSET SIZE=20');
  Memo1.Lines.Add('BLOBS TO CACHE=64');
  Memo1.Lines.Add('BLOB SIZE=32');
  AliasEditor.Add('DocumentsFab','MySQL',Memo1.Lines);
Qualcuno mi sa dare una mano? Qual è il metodo migliore ? e soprattutto ...
dove sbaglio?! :)
Grazie sin d'ora per l'aiuto, scusate per la lunghezza del messaggio.
Francesco

Fatti un giro su
http://zeoslib.sourceforge.net/index.php
;-)
--
Morde. 
morde[at]programmer[.]net

 ha scritto nel messaggio
news:c3s08vgott1ivf2hb...@4ax.com...


 dbexpmys.dll, Vendor Lib su LIBMYSQL.dll
...
Devi impostare anche PARAMS (fai click sull'ellisse del campo per impostare
la TStrings).
In particolare devi definire:
Database: Database al quale intendi connetterti (se non ne ai creato uno
puoi utilizzare "test")
HostName: Indirizzo TcpIp della macchina nel quale è presente il server
MySql (localhost se il server è presente nella stessa macchina)
PassWord e User_Name (Se hai installato tu il server probabilmente non avrai
impostato i grants per i vari utenti e quindi dovresti riuscire a collegare
anche lasciando vuoti quasti campi)
Quando a questo punto imposterai Connected a True la connessione dovrebbe
attivarsi.
Tieni presente che con alcune versione del server devi impostare la
proprietà LibraryName come dbexpmysql.dll invece dello standard
dbexpmys.dll.
Con DbExpress non hai bisogno di alcun driver ODBC per collegarti al Server
MySql.
Saluti
Alberto Naccari
--------------------------------
Inviato via 
http://usenet.libero.it


....
Penso che sarebbe stato il caso di spiegargli dove sbagliava prima di dargli
una alternativa.


 ha scritto nel messaggio
news:213Z21Z149Z23Y...@usenet.libero.it...


una alternativa.
Si, l'avrei fatto se ne avessi avuto il tempo, ma ero preso per cui gli ho
dato direttamente il link degli zeos.
Ciao!
