Existe algum truque para usar o TSQLMonitor com uma TSQLConnection que usa o novo driver ODBC dbExpress?
Tenho estado a testar o novo condutor ODBC dbExpress que navega com o Delphi XE2, e reparei que o TSQLMonitor não parece funcionar. Pensando que eu poderia ter configurado o componente incorretamente, eu conectei um TSQLMonitor a uma TSQLConnection que usa o driver MS SQL dbExpress, e que funcionou como um encanto.
Eu não vejo nenhum posts sobre este problema na Web. Mais alguém reparou nesta questão? Parece ser um bug, uma funcionalidade não suportada (sem monitorização em uma TSQLConnection que usa o driver ODBC), ou existe um truque para configurar o TSQLMonitor sob esta condição?
38
1 answers
Experimenta isto.:
procedure TForm2.Button1Click(Sender: TObject);
begin
try
Connect;
SQLMonitor1.SQLConnection := SQLConnection1;
SQLMonitor1.Active := True;
ExecuteQueries;
SQLMonitor1.SaveToFile('D:\\Log.txt');
except
on E: Exception do
ShowMessage('Exception ocurred!: ' + E.Message);
end;
end;
procedure TForm2.Connect;
begin
SQLConnection1 := TSQLConnection.Create(nil);
SQLConnection1.ConnectionName := 'odbcinterbaseconnection';
SQLConnection1.LoginPrompt := False;
SQLConnection1.LoadParamsOnConnect := True;
SQLConnection1.Connected := True;
end;
procedure TForm2.ExecuteQueries;
var
Query: String;
begin
try
if SQLConnection1.Connected then
begin
Query := 'CREATE TABLE ExampleTable(id INTEGER, name VARCHAR(50))';
SQLConnection1.Execute(Query, nil);
Query := 'INSERT INTO ExampleTable VALUES(1,''test1'')';
SQLConnection1.Execute(Query, nil);
Query := 'INSERT INTO ExampleTable VALUES(2,''test2'')';
SQLConnection1.Execute(Query, nil);
Query := 'INSERT INTO ExampleTable VALUES(3,''test3'')';
SQLConnection1.Execute(Query, nil);
Query := 'SELECT * FROM ExampleTable';
SQLConnection1.Execute(Query, nil);
end;
except
on E: Exception do
ShowMessage('Exception ocurred!: ' + E.Message);
end;
end;
1
Author: alesc3, 2014-01-18 20:47:03