Introduction

SQLPython is a command-line interface to Oracle databases. It is intended as an alternative to Oracle’s SQL*Plus. For the most part, it can be used the same way SQL*Plus would be used; this documentation focuses on the places where SQLPython differs.

License

sqlpython is free and open-source software. Its use is governed by the MIT License.

Authorship

SQLPython was created by Luca Canali at CERN. Most recent development has been done by Catherine Devlin. A group of additional sqlpython contributors has formed at Google Groups.

Installation

If python-setuptools is present on your machine, you can easily install the latest release of sqlpython by issuing from a command prompt:

easy_install sqlpython

The development trunk (very unstable) is at assembla; you can install the trunk on your machine with:

hg clone http://hg.assembla.com/python-cmd2 cmd2
      cd cmd2
      python setup.py develop

      cd ..
      hg clone http://hg.assembla.com/sqlpython sqlpython
      cd sqlpython
      python setup.py develop

Using hg pull, hg update subsequently will update from the current trunk.

You may also install from the trunk with easy_install:

easy_install

Running

sqlpython [username[/password][@SID]] [“SQL command 1”, “@script.sql”, “SQL command 2...”]

Database connections can also be specified with URL syntax or with Oracle Easy Connect:

oracle://username:password@SID

oracle://username:password@hostname:port/dbname

oracle://username:password@hostname:port/dbname

SID represents an entry from the tnsnames.ora file.

Once connected, most familiar SQL*Plus commands can be used. Type help for additional information.

Origins

SQLPython is based on the Python standard library’s cmd module, and on an extension to it called cmd2. SQLPython also draws considerable inspiration from two Perl-based open-source SQL clients, Senora and YASQL.

Non-Oracle RDBMS

As of sqlpython 1.6.4, preliminary work has begun to adapt sqlpython to non-Oracle databases. You may use it to run queries against postgreSQL, MySQL, etc., but data-dictionary access commands (ls, grep, refs, etc.) will generate errors. Connection to non-Oracle databases is currently only possible via URL connection strings.

Table Of Contents

Previous topic

Welcome to SQLPython’s documentation!

Next topic

SQLPython’s extra capabilities

This Page