Oracle¶
Introduced in v6.0
The Oracle backend is experimental and is subject to backwards incompatible changes.
ibis.memtable
Support ¶
The Oracle backend supports memtable
s by constructing a string with the contents of the in-memory object. This will be very inefficient for medium to large in-memory tables. Please file an issue if you observe performance issues when using in-memory tables.
Install¶
Install ibis
and dependencies for the Oracle backend:
pip install 'ibis-framework[oracle]'
conda install -c conda-forge ibis-oracle
mamba install -c conda-forge ibis-oracle
Connect¶
ibis.oracle.connect
¶
con = ibis.oracle.connect(
user="username",
password="password",
host="hostname",
port=1521,
database="database",
)
ibis.oracle.connect
is a thin wrapper around ibis.backends.oracle.Backend.do_connect
.
Connection Parameters¶
do_connect(*, user, password, host='localhost', port=1521, database='FREE', **_)
¶
ibis.connect
URL format¶
In addition to ibis.oracle.connect
, you can also connect to Oracle by
passing a properly formatted Oracle connection URL to ibis.connect
con = ibis.connect(f"oracle://{user}:{password}@{host}:{port}/{database}")
Connecting to older Oracle databases¶
ibis
uses the python-oracledb
"thin client" to connect to Oracle databases.
Because early versions of Oracle did not perform case-sensitive checks in
passwords, some DBAs disable case sensitivity to avoid requiring users to update
their passwords. If case-sensitive passwords are disabled, then Ibis will not be
able to connect to the database.
To check if case-sensitivity is enforced you can run
show parameter sec_case_sensitive_logon;
If the returned value is FALSE
then Ibis will not connect.
For more information, see this issue.