Cześć,
walcze z połączeniem serwera, który napisałem w Lazarusie, z bzą danych MySQL na maszynie z Ubuntu.
Zainstalowałem wszystko zdaje mi się poprawnie. Konfiguracja ODBC wygląda tak:
odbcinst.ini:
[myodbc_mysql]
Description = ODBC for MySQL
Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so
UsageCount = 1
odbc.ini:
[myodbc_mysql_dsn] # this is your system DSN
Description = description of your DSN
Driver = myodbc_mysql # custom driver name
Server = localhost # or external IP if needed
Port = 3306 # or custom port if needed
Socket = /var/run/mysqld/mysqld.sock # socket, see above
Database = # MySQL DB name or empty
Option = 3
ReadOnly = No
Kiedy w terminalu wpisuje
isql -v user password
otrzymuje poprawne połączenie za pomocą ODBC i mogę działać na bazie z poziomu terminala.
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
Kiedy jednak tworzę połączenie w mojej aplikacji nie może się ona połączyć z bazą. Połączenie tworze w ten sposób:
with AConnection do
begin
Driver := 'myodbc_mysql_dsn'; //roznie juz probowalem, wpisywalem tez "myodbc_mysql" - jak musi byc?;)
Params.Add('Trusted_Connection=Yes');
Params.Add('DATABASE=mydb');
Params.Add('HostName=MyHost');
Params.Add('UserName=root');
Params.Add('Password=password');
end;
Próbowałem już na tuzin różnych sposobów modyfikować te parametry połączenia ale ciągle brak rezultatu. Możecie mi podpowiedzieć jak prawidłowo sparametryzować takie połączenie? Na Windowsie z poprawnie skonfigurowanym ODBC takie połączenie śmiga bez zarzutu. Na Ubuntu coś dalej jest nie tak:(
Dzieki!