Topic: Как сделать запрос к внешней базе MySQL
Необходимо подключиться к серверу MySql к базе, которая не создавалась в MVD и получить размеры всех таблиц в базе.
Для этого использую такой cкрипт:
Application.ProcessMessages;
{$MySQL disable_connectdialog}
Form1.MySQLConnection.Server := 'server.ru';
Form1.MySQLConnection.Port := 3306;
Form1.MySQLConnection.Username := 'name';
Form1.MySQLConnection.Password := 'passsss';
Form1.MySQLConnection.Database := 'dbname';
try
Form1.MySQLConnection.Connect;
except
ShowMessage('Соединиться с сервером базы данных '+Form1.MySQLConnection.Server+ ' на порт '+ IntToStr(Form1.MySQLConnection.Port) + ' не удалось.');
exit;
end;
if Form1.MySQLConnection.Connected then
begin
showmessage('соединение с сервером успешно');
sql_request := 'SELECT table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES Order by `Size in MB` DESC';
showmessage ( SQLExecute(sql_request) );
end;
Однако, этот MySql запрос возвращает ошибку: no such table: information_schema.TABLES
Соединение устанавливается успешно.
Запрос SELECT отлажен в другом приложении.
Но в данном случае почему то не срабатывает?
В чем может быть причина?