Il linguaggio di programmazione Delphi
 

parametri connessione MySQL runtime

Sandra 18 Nov 2016 17:01
testate 2 versioni
a) impostando i parametri a design time

con queste righe connette il db remoto senza problemi

try
FDConnection1.Open:
Button2.caprion := 'ok';
except
Button2.caprion := 'no';
end;

a desgin time connected = true si connette.

settando i parametri solleva eccezione (*)

FDConnection1.Close;
FDConnection1.Params.Clear;
FDConnection1.Params.Add('DriverID=MySQL');
FDConnection1.Params.Add('UserName=<user>');
FDConnection1.Params.Add('Password=<pwd>');
FDConnection1.Params.Add('Server=db4free.net');
FDConnection1.Params.Add('Port=3306');
FDConnection1.Params.Add('Database=<nomedb>');
FDConnection1.Open;

exception class EMySQLNativeException with message
'[FireDAC][Phys][MySQL] Access denied for user
'ODBC'@'host4-239-dynamic.182-80-r.retail.telecomitalia.it' (using
password: YES)'. Process Project1.exe (7788)

anche settando, stesso errore.

FDPhysMySQLDriverLink1.VendorLib := 'D:\MySQL\libmysql.dll';

mi aiutate a capire dove sbaglio ?


(*) esempio emabrcadero
with dbMain do begin
Close;
// create temporary connection definition
with Params do begin
Clear;
Add('DriverID=MySQL');
Add('Server=127.0.0.1');
Add('Port=3306');
Add('Database=FDDemo');
end;
Open;
end;
Morde 21 Nov 2016 10:38
On 18.11.2016 17:01, Sandra wrote:

> exception class EMySQLNativeException with message
> '[FireDAC][Phys][MySQL] Access denied for user
> 'ODBC'@'host4-239-dynamic.182-80-r.retail.telecomitalia.it' (using
> password: YES)'. Process Project1.exe (7788)

Secondo il db stai usando un utente non autorizzato:
ODBC@host4-239-dynamic.182-80-r.retail.telecomitalia.it

Sui log del db riesci a vedere che utente si collega quando ti funziona
a design tim3?


--
Morde
4ndre4 21 Nov 2016 11:24
On Friday, 18 November 2016 16:01:15 UTC, Sandra wrote:

> ODBC'@'host4-239-dynamic.182-80-r.retail.telecomitalia.it

ma ci sono degli apici attorno alla chiocciola, nel nome utente, o e` come viene
formattato il messaggio d'errore?
Sandra 21 Nov 2016 11:38
Il 21/11/2016 11:24, 4ndre4 ha scritto:
>> On Friday, 18 November 2016 16:01:15 UTC, Sandra wrote:
>>
>>> ODBC'@'host4-239-dynamic.182-80-r.retail.telecomitalia.it
>>
>> ma ci sono degli apici attorno alla chiocciola, nel nome utente, o e` come
viene formattato il messaggio d'errore?
>>

e' il formato del messaggio di errore.

Ho cambiato la libreria client libmysql.dll con una 32bit e si connette,
tutto a patto di non impostare i parametri essenziali a runtime (come da
primo post).
Sandra 21 Nov 2016 12:16
Il 21/11/2016 10:38, Morde ha scritto:
>> On 18.11.2016 17:01, Sandra wrote:
>>
>>> exception class EMySQLNativeException with message
>>> '[FireDAC][Phys][MySQL] Access denied for user
>>> 'ODBC'@'host4-239-dynamic.182-80-r.retail.telecomitalia.it' (using
>>> password: YES)'. Process Project1.exe (7788)
>>
>> Secondo il db stai usando un utente non autorizzato:
>> ODBC@host4-239-dynamic.182-80-r.retail.telecomitalia.it

sembra essere cosi', se imposto un utente non registrato nel db
il messaggio cambia

'[FireDAC][Phys][MySQL] Access denied for user 'Sandra'@'%'to database
'db4free.net'

provando vari parametri

FDConnection1.Params.Clear
FDConnection1.Params.Add('UserName=Sandra');
FDConnection1.Params.Add('Password=<pwd>');
FDConnection1.Params.Add('Server=db4free.net');
FDConnection1.Params.Add('Port=3306');

la connessione falisce, evidentemente vanno reimpostati tutti i
parametri presenti a design

cambiando solo alcuni parametri si connette senza problemi

FDConnection1.Params.DriverID := 'MySQL';
FDConnection1.Params.UserName := 'Sandra';
FDConnection1.Params.Password := 'password';
FDConnection1.Params.Database := 'sasqltest';

>>
>> Sui log del db riesci a vedere che utente si collega quando ti funziona
>> a design tim3?
>>
>>
non trovo i log del db, l'ultimo log in data/ora attuale sotto
c:\Utenti\Sandra\ e' sanct.log che riporta informazioni come quelle sotto.

del resto non ho nessun db mysql in locale solo la dll client

[11/21/16 11:39 AM ]----------------------------------------
[11/21/16 11:39 AM ]Operating System: Windows
[11/21/16 11:39 AM ]Current User: Sandra
[11/21/16 11:39 AM ]System Registration Key: ******
[11/21/16 11:39 AM ]Node Lock: 76RZQVUXYW8RD7W
[11/21/16 11:39 AM ]
[11/21/16 11:39 AM ]----------------------------------------
[11/21/16 11:39 AM ]Unreg #0 2SFE-PQTTFL-T2CGK9-MGNN
[11/21/16 11:39 AM ]
[11/21/16 11:39 AM ]
[11/21/16 11:39 AM ]License: RAD Stu***** 10 Seattle Architect Trial
[11/21/16 11:39 AM ]Registration Key=13931094
[11/21/16 11:39 AM ******* Number=
[11/21/16 11:39 AM ]
Sandra 21 Nov 2016 16:23
Il 21/11/2016 12:16, Sandra ha scritto:
> Il 21/11/2016 10:38, Morde ha scritto:
>>> On 18.11.2016 17:01, Sandra wrote:
>>>
>>>> exception class EMySQLNativeException with message
>>>> '[FireDAC][Phys][MySQL] Access denied for user
>>>> 'ODBC'@'host4-239-dynamic.182-80-r.retail.telecomitalia.it' (using
>>>> password: YES)'. Process Project1.exe (7788)
>>>
>>> Secondo il db stai usando un utente non autorizzato:
>>> ODBC@host4-239-dynamic.182-80-r.retail.telecomitalia.it

ed e' proprio il parametro username l'intoppo

a DesignTime trovo

FDConnection1.UserName

a runtime invece (osservando FDConnection1->Params->TStringList->FList)
mi chiede User_Name

cosi' FDConnection1.Params.Add('User_Name=Sandra');

risolve il problema; strana pero' questa doppia interpretazione.

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione Delphi | Tutti i gruppi | it.comp.lang.delphi | Notizie e discussioni delphi | Delphi Mobile | Servizio di consultazione news.