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.
sqlpython is free and open-source software. Its use is governed by the MIT License.
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.
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
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.
Please report bugs at http://trac-hg.assembla.com/sqlpython or to catherine.devlin@gmail.com.
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.
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.