Я использую новую установку MyDa c 10.1.3 и Securebridge 9.2 в Delphi 2009 для подключения к удаленной базе данных MySQL, размещенной на общем сервере (в JustHostMe), который, по их утверждению, позволяет S SH. У меня нет доступа к самому серверу, поэтому я не могу запускать какие-либо команды типа администратора, просто SQL. Я могу нормально подключиться через порт 3306, но хотел сделать это, используя S SH.
Я следовал учебному пособию здесь , сделал свои закрытые и публичные c ключи, передал мои публикации c ключ к серверу и авторизовал его с помощью cpanel, специально для этого учебника сделал нового пользователя базы данных. В сумме говорится, что нужно использовать TCRSSHIOHandler, но на палитре его нет, поэтому вместо этого я использовал TMySSHIOHandler, что похоже на то же самое.
Порт в ScSSHClient установлен на 22, как в учебном пособии, но порт на TMyConnection будет принимать только 3306 (22 не будет подключаться при тестировании).
По сути, тестовое приложение запускается, подключается к базе данных и показывает результат SQL SHOW STATUS
(который я вставил в запрос в качестве теста).
Мой вопрос, хотя просто:
Как я могу проверить, использует ли соединение S SH или нет?
Имея в виду, я запускаю приложение Delphi подключено на общий сервер, к которому у меня нет доступа администратора.
Я прочитал эту публикацию SO , но, похоже, предполагается, что у меня есть прямой доступ к серверу.
В случае, если кто-нибудь попросит увидеть код для этого минималистского приложения, все это просто
unit U_frmMain;
// see https://www.devart.com/mydac/docs/ssh.htm
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScSSHClient, ScBridge, StdCtrls, Grids, DBGrids, DB, MemDS, DBAccess,
MyAccess, CRVio, CRSSLIOHandler, MySSLIOHandler, CRSSHIOHandler,
MySSHIOHandler;
type
TForm1 = class(TForm)
MyConnection1: TMyConnection;
MyQuery1: TMyQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
ScFileStorage1: TScFileStorage;
ScSSHClient1: TScSSHClient;
MySSHIOHandler1: TMySSHIOHandler;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
MyQuery1.open;
end;
end.