Sql Work Bench

Note: Please Scroll Down to See the Download Link.

ABSTRACT

SQL Work Bench is a GUI SQL client written in 100% Java. SQL Work Bench can communicate with any database that has a JDBC driver. It should run anywhere Java runs. I use it on Linux and Windows 2000 Professional with Oracle's 100% Java JDBC driver. SQL Work Bench acts like a universal database client which can connect to any database and perform any required operations on that database.

SQL Work Bench is versatile in such a way it can

·  connect to any database

·  Execute any query and show the results in the same window.

· Create multiple connections to multiple databases.

· The executed set of commands can be saved in a SQL file and can be later retrieved and run. This is useful to perform repeated tasks.

· Open multiple SQL files in multiple windows

SQL Work Bench runs each query in a separate thread so the GUI remains alive while a query is running. SQL Work Bench has got a simple tabbed pane where provision for connecting to any database is available. Its File->Configure feature helps to specify the database name to which a connection is needed. Once connected to the database using Query option, we can execute any statement on the database.

File option has sub options like: New, Open, Save, Close, Configure options. These are all highly useful to perform various tasks on files and configuring the databases.

Edit option has cut, copy, paste options.

Query option has commit, rollback and execute options. After a set of commands are executed, we can save the changes permanently to a database using commit. To cancel the affect of earlier changes, by using rollback. There is cancel option to cancel a query and type a new one.

Save document option is very helpful to save a set of given commands as a file. This file can be later on retrieved and executed. When this file is executed, all those commands will be one by one executed. This is useful for the people who want to repeatedly perform certain tasks. Once the task related commands are stored in a file like this, he/she can execute them whenever they want.

SQL Work Bench also allows us to export the data to .csv file by using specified delimiters. Further we can use that .csv file to import that same data to any database.

SQL Work Bench

SQL Work Bench is the project that goes around the development of GUI Universal Database Client.  It is the project that is intended to make the connection to different databases from single interface in an easy, fair, faster and reliable.

This software to be designed which deals with different databases and execute different kinds of SQL statements from a single Tool. Users can create the connections for each and every database and store it in the Tool. Later on the user can select connection name to connect to a particular database and start executing SQL statements. User can also execute select statements and see the results in the Tool only. All the statements which are executed can be stored in .SQL file and at a later of point of time the user can use that .SQL file to execute the same statements. Users can Commit or rollback the SQL statements.                                     

 Objectives:

The objectives of the system are as follows:

·         To connect to different kinds of databases from single GUI Tool with Flexible and user-friendly screens. We can all the SQL statements from tool and see the results in the tool.

·         The user can commit or rollback the statement by just clicking the button

·         We can undo, redo, cut, copy and paste the contents in text area of the tool

·         We can switch to any database by just switching the connections

·         The results has to be displayed and those results can also be exported to .CSV files

·         We can set the Timeout values for the connections.

·         To create the schemas from this tool

Problem definition:

The present system has different tools or consoles for each and differently. The user feels uneasy to switch over to a different database by learning the how to use console for that database. If the user executes no of statements and after if he feels to store all these statements to port the same statements in different machine, it is not possible. For doing this each user has to store each and every statement by copying and pasting it in a file. User has to manually copy the results from the console and paste it in a file to store results of the query.

If the user wants to commit or rollback the statements then he has to manually type the commands in their consoles. If the user wants to undo or redo the tasks belongs to textual information then it is also not possible in most of the consoles.

This entire system needs to be performed from a single GUI tool which is common to all the databases for better performance and makes it user-friendly.

Existing system

The present system is a console-based system for each and every database separately and the user has to learn how to use that console to connect to a particular database and how to work on console to execute SQL statements. In the real time project development each every user has a need to connect to different kinds of the databases that are at different locations (systems). Whenever the user wants to connect to a database then the client libraries that are required to connect to that database server has to be installed at the client. This process repeats in each and every user system.

Connecting to a database from a Java Program without using installing client libraries also involves several steps:

· Getting the appropriate driver for that database

· Setting the class path to that driver

· Specify the Driver Name to register the driver

· Specify the URL for getting the connection

· Write the logic for executing select statements and displaying the results

·  Write the for executing non-select statements and display

·  Information that how many rows are updated

After executing the SQL statements, some consoles display the data in manner that is not a better look and feel.

The task of existing system is maintaining information of the permanent data to be stored in affective way by storing the data description and the actual in different databases which presently is accomplished in the manual way. 

Limitations of the existing system

The existing system employs a lot of man-hours both for learning how to use console to connect to different kinds of databases.

This time consuming evaluation coupled by the huge learning power requirement may also lead to erroneous results.  To connect to a database from a user system needs specific database client libraries has to installed at the user system

Learn and study about a particular database console is time taking process and that console is used to connect to one database only. Most of the databases doesn’t have GUI based consoles to connect and work on that databases. Every user feels  if the console is a GUI based and working in GUI environment is easy when compared to command driven environment.

The drawbacks in the existing system are as follows:

·  More learning work

·  Command driven environment consoles

·  Adjusting the console to display the results effectively

·  Installing the client libraries in user system

·  User can’t store the statements what he is executing

·  Manually storing the results in a file

·  Repeated execution of the same statements

·  Maintenance of schemas from consoles

· Doesn’t switch over to different easily

·  Executing commit and rollback statements manually

·  Can’t use undo, redo, cut, paste options effectively from consoles

Proposed System

The proposed system will be developed on client/server architecture. The user can run this tool at their system and get connected to different database servers that are different locations (systems) very easily.

On creation of connection, the users can connect to a database by using that connection. For creating the connection the user has to fill out the parameters only once. This allows the user to connect and work with any no of databases from GUI environment. It provides a single GUI interface for managing different kinds of databases. This type of environment is mainly useful for Project Managers, Project Leaders and the user who interacts and works with different databases.This tool allows the user to store all the statements what he has executed to be stored as .SQL file. Later on the user can use that .SQL file to repeatedly execute the same set of statements.

The system also provides security by asking the password before get connection if we uncheck the option save password

The objectives of the system are as follows:

·         The user has to use GUI environment to connect to a database.

·         Providing one universal database client which is used to maintain

·         Different databases from a single user interface.

·         The user need not install any client libraries at the client system.

·         Provides a facility to manage the schemas.

·         The results to be displayed in the tool in effective manner

·         providing the minimum security

·         Reusing and holding the connection for some time.

Merits of the Proposed System

·         GUI environment

·         Storing the SQL statements in .SQL file

·         Using the predefined connections

·         Connection to multiple databases in the same way

·         Providing the operations like cut, copy and paste inside Text Area

·         Providing Overall Reliability

·         Easy to use, effective and efficient

·         Easy to install

Hardware specifications

  Processor                                :          Pentium1 GHz                       

  Memory                                  :          256 MB RAM                 

 Hard Disk Capacity                :          40GB             

 CD-ROM                                :          52X    

 Display Card                           :          SVGA            

Software specifications

Operating System                   :           Windows 2000 Professinal or XP

Technologies                           :           J2SE, JFC –Swing and XML

Parser                                      :           SAX Parser

 Back End                               :           Any Database                                               

Documentation                       :           Ms Word 2000

Click here to download Sql Work Bench source code