CodeSite 2, from Raize Software , is a powerful debugging tool for Borland Delphi and C++Builder. The problem? Often not all of the logic in your application is contained in Delphi or C++Builder code. Some logic is often contained in Stored Procedures and Triggers. However, by itself, CodeSite will only let you trace the flow of execution to the boundary of your Delphi or C++Builder code. What goes on inside your database is pretty much a mystery to CodeSite.
Well, SQLSite tries to fix that. SQLSite is an extension to CodeSite 2, allowing CodeSite messages to be sent from within MS SQL Server Stored Procedures and Triggers. Now you can trace the flow of logic from your Delphi code to your Stored Procedure and back to your Delphi code, making it much easier to track down errors in your applications.
Requirements
SQLSite has been tested with CodeSite 2 Professional and SQL Server 7. I’m not taking advantage of any of the features not present in CodeSite 2 Standard, so I believe it should also work with the Standard Edition. Additionally, SQL Server has had Extended Stored Procedure support for a number of versions, so I believe it should also work with other versions of SQL Server. As I try it out with more versions, I’ll post the results.
Example
As an example, the following test Stored Procedure:
createproc TestCSASdeclare@callresultintegerexeccsClearexeccsCategoryColor'clWhite'execcsEnterMethod'TestCS'execcsCategory'SQLSite Test'execcsAddCheckPointexeccsResetCheckpointexeccsAddCheckPointexeccsAddSeparatorexeccsSendMemoryStatusexeccsSendMsg'Msg'execcsDisableexeccsSendMsg'Should not see this'execcsEnableexeccsCategoryColor'clYellow'exec@callresult = csEnabledif(@callresult = 1)execcsSendMsg'CodeSite Already Enabled'elsebeginexeccsEnableexeccsSendMsg'Just Enabled CodeSite'endexeccsSendMsg'Should see this'execcsSendString'String','Value'execcsSendInteger'Integer', 1execcsSendFloat'Float', 1.1execcsSendNote'This is a test note'execcsWriteInteger'First','Integer', 1execcsWriteFloat'Second','Float', 1.1execcsWriteString'Third','String','Value'execcsWriteMsg'Fourth','Msg'execcsExitMethod'TestCS'
produces the following output in the CodeSite 2 viewer:
Click image for larger screenshot |
Currently, SQLSite supports the following CodeSite 2 calls, inside your SQL Server code. This seems to cover most requirements, but let me know if you simply can’t live without support for something else.
|
CodeSite
|
SQLSite Equivalent
|
| CodeSite.Category | csCategory |
| CodeSite.CategoryColor | csCategoryColor |
| CodeSite.AddSeparator | csAddSeparator |
| CodeSite.AddCheckpoint | csAddCheckpoint |
| CodeSite.ResetCheckpoint | csResetCheckpoint |
| CodeSite.SendMemoryStatus | csSendMemoryStatus |
| CodeSite.Clear | csClear |
| CodeSite.Enabled := True | csEnable |
| CodeSite.Enabled := False | csDisable |
| CodeSite.Enabled | csEnabled |
| CodeSite.DestinationDetails | csDestinationDetails |
| CodeSite.EnterMethod | csEnterMethod |
| CodeSite.ExitMethod | csExitMethod |
| CodeSite.SendMsg | csSendMsg |
| CodeSite.SendString | csSendString |
| CodeSite.SendInteger | csSendInteger |
| CodeSite.SendFloat | csSendFloat |
| CodeSite.SendNote | csSendNote |
| CodeSite.WriteInteger | csWriteInteger |
| CodeSite.WriteFloat | csWriteFloat |
| CodeSite.WriteString | csWriteString |
| CodeSite.WriteMsg | csWriteMsg |
History
v1.0 – 28 August 2001
-
Initial Public Release
Download
- V1.0 here
CodeSite is a trademark of Raize Software .
SQL Server is a trademark of Microsoft
Be the first to leave a comment. Don’t be shy.