I have been testing the new ODBC dbExpress driver that ships with Delphi XE2, and have noticed that the TSQLMonitor does not seem to work. Thinking that I may have configured the component incorrectly, I hooked up a TSQLMonitor to a TSQLConnection that uses the MS SQL dbExpress driver, and that worked like a charm.
I don't see any posts about this problem on the Web. Has anyone else noticed this issue? Does it appear to be a bug, an unsupported feature (no monitoring on a TSQLConnection that uses the ODBC driver), or is there a trick to configuring the TSQLMonitor under this condition?
Try this out:
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; If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With