|
About ASE Client
Are you a database administrator or developer? Have you received a poorly documented database, and want to investigate how it works?
This is a special "database investigation" utility for Sybase Adaptive Server Enterprise 15 and later and Sybase SQL Anywhere 9 and later.
I developed it just for fun and to make my job a little easier. ASE Client will probably work with some earlier versions of these databases, but
that's untested. I will always make it work with the version of Adaptive Server Enterprise (ASE) and SQL Anywhere (ASA) I'm using, which currently
is 15.0.2 and 10.0.1.
ASE Client shows you all sysobjects, and if they are tables or views it displays the column info... or the data if you de-select "Show cols". You can also write and execute sql,
but ASE Client is mostly developed as a companion to a normal SQL client.
You can load and save SQL queries and history. Searchresults can be saved as tab-separated excel compatible files.
ASE Client will discover if it's connected with an ASE or ASA and adapt itself. These databases are pretty different though they are
somewhat compatible.
If you are an administrator and know what you are doing, i hope you'll find ASE Client a handy tool. I wrote it when I was required to understand
and further develop a CRM system where all logic was hidden in a windows client. I used ASE Client to investigate what the CRM system's client did in
the database, and how the architecture worked.
ASE Client is a java application. It should run on any platform supporting JDK 1.5 or later. Do you believe java is slow? Try this and think again... Since it's using awt components
(java utilizing the used operating systems ui components) it might not look as slick on other platforms than windows, but it will work.
ASE Client is freeware, but not open source! Read license.txt, ReadMe_jconn3.jar.txt and ReadMe.txt in the zip-archive before using it.
For windows users, there's a bat-file starting it. Users on other platforms will easily convert it to a script suitable for them.
Version information
Version 2.80 uploaded 2007-10-08: Bug correction for Sybase SQL Anywhere.
- The "Name LIKE:" search in sysobjects did not work when connected to SQL Anywhere. This is now corrected.
Version 2.79 uploaded 2007-08-31: Now also working with Sybase SQL Anywhere (popularly called "ASA"), and upgraded to use jConnect 6.05.
- Now Sybase SQL Server Anywhere 9 and later is also supported. ASE Client adapts itself automatically when you connect.
- JDBC used is upgraded to jConnect 6.05. This is free but has to be downloaded from www.sybase.com for licensing reason.
- Bigger window shows nore info - but needs better screen resolution. You'll need something like 1200x900.
- Slightly more pedagogic layout and coloring. Perhaps.
- More ctrl-key shortcuts for faster working.
If you downloaded any of the versions 2.77-2.78, replace it with this bug corrected version.
Version 2.71 uploaded 2007-04-01: Version for ASE 15.X. Lot's of improvements.
- Previous versions did not work very well with ASE 15. The issues I noted this far are now corrected. I will try to maintain compatibility with 12.5.X, but I won't be able to test this since I'm no longer running any 12.5.
- Go (CTRL-G) now executes only the selected sql, if anything is selected in the sql textfield.
- Parameters are now displayed for stored procedures if the "Show columns (sysobj)" checkbox is checked.
- sp_helptext output (the code that was used to create the object) for sysobjects is now displayed in the messages box. This makes me yet again discover that the textfields in ASE Client really needs wordwrap. It will happen sometime.
- Sysobject rowcount can now be disabled in the settings menu. Thr rowcount might take too long time if you browse around very big tables.
- Selecting a statement from the sql history does no longer overwwrite information in the sql textarea. Now the statement fetched from history is placed at the top row and previously existing text is pushed downwards.
Version 2.67 uploaded 2006-11-08: Attempt for older ASE compatibility.
- The queries that investigates the systables are changed to a syntax I hope is more compatible with older ASE versions.
Version 2.65 uploaded 2006-10-30: Enter the abort button.
- The query open is now threaded, which made the "abort query" button possible. The error messages are improved. The WR button is for a future function and currently disabled.
Version 2.55 uploaded 2006-04-18: Goodbye memory leak.
- For some obnoxious reason throwing away the powerj query objects without closing them consumed memory that wasn't recovered with garbage collection.
We certainly don't want to wait for a closing query object... that's why I just threw it away. Enter the first thread in ASE Client. Now used queryobjects are nicely closed in the background.
Version 2.54 uploaded 2006-04-18: No duplicates in history.
- When the same sql is executetd several times, only one copy is stored in history (it's moved first in the history). Now... why on earth haven't I thought of this before... ;)
New version 2.53 uploaded 2006-03-23: Bug in history corrected.
- Now what is supposed to end up in the sql history drop list is added there.
New version 2.52 uploaded 2005-12-08: New functions, moved functions and bug corrections.
- Choice component for columns: A choice under the SQL text area shows the columns and datatypes for the selected sysobject (if it has columns). If you select a choice item the column name will be pasted in to the current position in the SQL text area with blanks before and after. This simplifies writing sql if you don't remember the column names.
- Name button: This inserts the name of the last selected system object in the SQL text area, with blanks before and after.
- Menue item Edit->Insert current date ('YYYY-MM-DD'): Inserts current system date in the SQL text area with blanks before and after. Sorry... Date format cannot yet be changed. If I find time I'll ask the system and adapt automatically, or at least make the format changeable. But for now it's a fixed format.
- The Refresh result button: Has moved and become the tiny "Ref" button above navigation buttons to the right for SQL result grid.
- Clear messages button: This not so important button has disappeared. The function is now available as a menue item "Clear messages" in the edit menue.
- Clear history button: This has moved to a tine "Clear" button to the left of the History choice.
I really need to write some help documentation now
New version 2.51 uploaded 2005-12-06: New cool functionality.
- Name LIKE textfield: This provides search capability in the sysobjects grid. Wildcard % is added so if you write "ct" you get a condition name LIKE 'ct%' governing what's displayed. This makes life easier if there's lots of sysobjects and you have an idea of the name of the object you are looking for. You can add more wildcards as you like. Return or focus lost gives a new sysobjects search.
- More resultsets button: Stored procedures often generate several resultsets. ASE Client isn't really the tool of choice for stored procedures, but now you can display the next result set by clicking the yellow More resultsets button. Issues: No, there's no way to go back other than executing the procedure again. And the button is currently enabled even if there isn't another result set available. It's disabled only when it has failed fetching the next result set. These issues might be improved in the future. I just haven't got time at the moment.
New version 2.50 uploaded 2005-11-15: Bug corrections.
- Important bug corrections cure the crash on program exit. Do upgrade. The new settings menu contains a non finished way to use ASE Client with a MS SQL Server 200X database. The items are disabled for now. I'm not sure if this will be finished, there seems to be a difference in the sysobjects "type" column that has to be handled.
New version 2.47 uploaded 2005-11-03: New export function.
- New function "Export sysobjects to xls" stores the searchresult displayed in the sysobjects grid to a tab separated file.
New version 2.46 uploaded 2005-11-02: The bug corrections from version 2.45c and a new copy function.
- The new function "Copy text from selected component (Ctrl-P)" in the edit menu is pretty cool. It copies text to system clipboard from any selected component that can display text dynamically. The main thing you want to copy is probably the information in the grids (sysobjects and result). If a cell is selected, all text in that cell is copied. If no cell is selected (click on the rownumbers to deselect) all info from the grid is sent to clipboard tab-separated. This means you can paste it directly in to cells in Excel and most other spreadsheets. Only rows stored in the grid is included. The sysobjects grid stores all rows. However the SQL result grid stores only 2000 rows, more rows are displayed dynamically. Use the "Save searchresult to xls" if you want all rows in the searchresult. For a choice all items are copied. To copy the list of databases, click on the databases choice and then use this function. The message label and all textfields can of cause also be copied. This function copies all text in a component. If you want to copy only selected characters in a text field, use the OS standard copy function. For windows it's Ctrl-C.
New version 2.45 uploaded 2005-10-25: Some additions
- Since this is a java client it previously needed singlequotes (') when writing strings in the SQL text area. Now you can use doublequotes ("). These will be replaced by singlequotes when the SQL is run.
- More readable memory notation in the title bar.
- Shortcuts for connect and disconnect.
I also wanted to add a shutdown hook to disconnect nicely from the database if the java engine unexpectedly shuts down. But PowerJ 3.6 doesn't want to compile using the JDK 1.5. Well, someday I may fix that. Or set up the project to be recompiled outside PowerJ.
New version 2.44 uploaded 2005-10-24: Vastly improved version
- If you press enter in text fields something useful happens. Enter in UserID jumps to password. Enter in password starts connect. Enter in the SQL text area does only a linebreak.
- Sybase old trusty query object took a lot of time closing big resultsets. Now this program just throws away the query object for sql results and creates a new one. Not an elegant solution, but the program runs much faster. I trust the garbage collection ;)
- Row limit for result does no longer use the query objects row limit. It just does set rowcount behind the scenes. This works much better. Enter here jumps to the sql text area. However, note that set rowcount is performed on each database when you select it with the "Databases" choice. If you write a select statement in the SQL area specifying databasename..tablename where databasename is a database you haven't selected yet with the "Databases" choice, no row limit will be set in this database.
- New function "Open saved xls file" in the Archive menu. This is a windows-ish function that won't work in operating systems other than Win NT, 2000, XP, 2003 and probably all future versions. The last result set saved with the "Save searchresult to xls file" is opened with the program associated with ".xls" in the operating system. If you want this to work with your OS.. send me mail!
- Now the program correctly handles cases where no sysobjects are displayed. For example the sybsecurity database generally does not have user objects. The sql result grid is now cleared if this happens.
- The bat-file now has parameters for memory reservation. You only need to use this if you want to handle big resultsets. You should edit these to what's suitable for your system. Without this you might get the annoying out of memory exception. I don't know why the sun JRE doesn't grow enough automatically on a computer with huge RAM - which a modern computer generally is equipped with. Consult the help for your JRE. Sun unfortunately says they might change the syntax without notice.
- ASE Client now displays memory in the title bar, and a new function in the file menu allows the user to suggest garbage collection.
- At last, keyboard shortcuts for most functions. Look in the menues.
New version 2.41 uploaded 2004-11-30: Now the "row limit" parameter works! Another change is that filenames are remembered when you save sql and history files. Scroll down to download the new version!
Current issues
Beware of displaying columns containing blobs like the data type "image" ASE Client will gladly try to load blobs in the result grid, and since blobs generally contain a lot of data this may require considerable time.
Stored procedures now works, but the output is often in several resultsets. You have to click the yellow button "More resultsets" to step through each result set. Alas, there's no way to step back yet. Other tools like Jsql or SQL Advantage are better suited for stored procedures.
I am considering making updates of the result set possible when you alter directly in the sql result cells - if I find time someday.
Download ASE Client
Download latest version of ASE Client (around 638kB .zip archive)
Download jConnect 6.05 for JDBC from Sybase. This is required for ASE Client.
Download the final version of ASE Client that is tested on ASE 12.5.X (around 900kB .zip archive)
More ASE information and other tools
Rob Verschoor's website www.sypron.nl is a great place to find information and tools for Sybase ASE.
Sybase, Adaptive Server Enterprise and some other products mentioned above are registered trademarks for Sybase
|