Aqua Data Studio includes an integrated shell named FluidShell. FluidShell is an interactive database shell for all major database vendors which provides the combined functionality of a Unix Shell 1 with a SQL command line 2 tool. This combination of functionality grants users the power to automate the extraction, transformation, and loading of data from within a single shell. FluidShell includes commands that match common Unix commands and functionality similar to most Unix shells such as variable substitution, alias commands, command substitution, input/output redirection, pipelines, and command history. FluidShell can execute SQL scripts, shell scripts, and AquaScripts to provide a diverse and flexible method to automate your daily tasks. Automate more and do more in less time.
Learn FluidShell in 10 Minutes : Quick Tutorial
Automate Database Tasks with FluidShell
FluidShell includes a complete set of commands for quickly scripting and executing custom solutions for data mining, ETL operations, database/file system data exchange, data warehousing, and other data processing tasks. FluidShell provides several popular Unix-like commands and includes a large number of commands for shell terminal, database access, data manipulation, filesystem navigation, file and data archiving, network operations, and general utilities. See the complete list of FluidShell Commands.
Example: Extract Data from Oracle and Load into SQL Server
Example: Extract Data from Oracle and Export to Excel
Schedule Scripts for Automation
FluidShell scripts may be executed from the Operating System terminal without launching the Aqua Data Studio GUI. This allows scheduling their execution from an Operating System scheduler such as a Unix cron 3 job or with Windows Task Scheduler 4. There are two files in the root install directory called "runfluidscript.sh/bat" and "runfluidscript-bundled.sh/bat" which allow you to execute FluidShell scripts from the command line.
Technical Overview
FluidShell's major components include the: Terminal, Commands, Command Line Interface, Execution Engine, SQL Buffer, and Database Sessions.
The shell's Terminal is a VT220 5 terminal emulator with enhanced GUI components to provide an enhanced usability experience. The VT220 terminal is the same component used within Aqua Data Studio's SSH Terminal which provides a very similar experience to a Unix user. In addition to the VT220 terminal, the shell includes auto-completion for commands with graphical popup dialogs and a SQL history as a graphical grid component.
FluidShell includes commands which can be executed from the shell's command line. The commands provide a variety of functionality that are common to Unix shells and/or SQL shells. FluidShell includes a large number of commands for a shell terminal, database access, data manipulation, filesystem navigation, file and data archiving, network operations, and general utilities. See the complete list of FluidShell Commands.
FluidShell presents users a smooth combined interface of the SQL command line and Unix command line by providing a highly configurable command-line interpreter 6 which can be customized with shell variables or with the [cli] command. The [cli] command provides an easy way to change between a "SQL", "shell" or "fluid" command-line interface (CLI). The "fluid" CLI is configured to automatically determine whether the user is entering a shell command or a SQL command. If a SQL command is entered, the shell will add it to the SQL buffer while if it is a shell command, FluidShell will execute the command. To execute the SQL Buffer on the current connection a user may use the go
command.
FluidShell includes an execution engine to execute shell commands. The execution engine supports many Unix shell features including Pipelines 7 , Redirection 8, Aliases 9, Command Substitution 10, Variable Substitution, and Command History 11.
The SQL Shell functionality of FluidShell is provided by including a SQL buffer and a list of open database connections. Users can enter a SQL statement into the SQL buffer and then execute the buffer on the current connection. To get a list of currently open connections, a user can use the session
command. The user may also create new connections and disconnect them with the connect
and disconnect
command.
References
- ^ Unix Shell Wikipedia article. A Unix shell is a command-line interpreter that provides a traditional user interface for the Unix operating system.
- ^ Command-line Interface Wikipedia article. A command-line interface is a means of interaction with a computer program where the user issues command to the program in the form of a line of text.
- ^ Unix Cron Job Wikipedia article. A time-based job scheduled in Unix-like operating systems.
- ^ Windows Task Scheduler Wikipedia article. A component of Microsoft Windows that provides the ability to schedule the launch of programs or scripts at pre-defined times or after specified time intervals.
- ^ VT100 Terminal Wikipedia article. A video terminal made by DEC that has become the defacto standard for terminal emulators.
VT220 Terminal Wikipedia article. Compatible with VT100 but added features to make it more suitable for an international market. - ^ Command-line Interpreter Wikipedia article. A command-line interpreter, or command language interpreter, is a blanket term for a certain class of programs designed to read lines of text entered by a user.
- ^ Pipeline Wikipedia article. In Unix-like computer operating systems, a pipeline is a set of processes chained by their standard streams, so that the output of each process feeds directly as input to the next one.
- ^ Redirection Wikipedia article. Redirection is a function common to most command-line interpreters, that can redirect standard streams to user-specified locations.
- ^ Alias Command Wikipedia article. Alias is a command in various command line interpreters such as Unix shells, which enables a replacement of a word by another string.
- ^ Command Substitution Wikipedia article. Command substitution is a facility originally introduced in the Unix shells that allows a command to be run and its output to be pasted back on the command line as arguments to another command.
- ^ Command History Wikipedia article. Command history is a feature in many operating system shells that allows the user to recall, edit and rerun previous commands.