Welcome to cx_Oracle’s documentation!¶
cx_Oracle is a module that enables access to Oracle Database and conforms to the Python database API specification. This module is currently tested against Oracle Client 21c, 19c, 18c, 12c, and 11.2, and Python 3.6, 3.7, 3.8, 3.9 and 3.10. Older versions of cx_Oracle may be used with previous Python releases.
cx_Oracle is distributed under an open-source license (the BSD license). A detailed description of cx_Oracle changes can be found in the release notes.
Contents:
User Guide¶
- Introduction to cx_Oracle
- cx_Oracle 8 Installation
- Overview
- Quick Start cx_Oracle Installation
- Oracle Client and Oracle Database Interoperability
- Installing cx_Oracle on Linux
- Installing cx_Oracle RPMs on Oracle Linux
- Installing cx_Oracle on Windows
- Installing cx_Oracle on macOS (Intel x86)
- Linux Containers
- Installing cx_Oracle without Internet Access
- Install Using GitHub
- Install Using Source from PyPI
- Upgrading from Older Versions
- Installing cx_Oracle in Python 2
- Installing cx_Oracle 5.3
- Troubleshooting
- cx_Oracle 8 Initialization
- Connecting to Oracle Database
- Establishing Database Connections
- Closing Connections
- Connection Strings
- Connection Pooling
- Database Resident Connection Pooling (DRCP)
- Connecting Using Proxy Authentication
- Connecting Using External Authentication
- Privileged Connections
- Securely Encrypting Network Traffic to Oracle Database
- Resetting Passwords
- Connecting to Oracle Cloud Autononmous Databases
- Connecting to Sharded Databases
- SQL Execution
- SQL Queries
- Fetch Methods
- Closing Cursors
- Query Column Metadata
- Fetch Data Types
- Changing Fetched Data Types with Output Type Handlers
- Fetched Number Precision
- Changing Query Results with Outconverters
- Changing Query Results with Rowfactories
- Scrollable Cursors
- Fetching Oracle Database Objects and Collections
- Limiting Rows
- Client Result Cache
- Fetching Raw Data
- Querying Corrupt Data
- INSERT and UPDATE Statements
- SQL Queries
- PL/SQL Execution
- Using Bind Variables
- Binding By Name or Position
- Bind Direction
- Binding Null Values
- Binding ROWID Values
- DML RETURNING Bind Variables
- LOB Bind Variables
- REF CURSOR Bind Variables
- Binding PL/SQL Collections
- Binding PL/SQL Records
- Binding Spatial Datatypes
- Changing Bind Data Types using an Input Type Handler
- Binding Multiple Values to a SQL WHERE IN Clause
- Binding Column and Table Names
- Using CLOB and BLOB Data
- Working with the JSON Data Type
- Simple Oracle Document Access (SODA)
- Working with XMLTYPE
- Batch Statement Execution and Bulk Loading
- Exception Handling
- Oracle Advanced Queuing (AQ)
- Continuous Query Notification (CQN)
- Transaction Management
- Tuning cx_Oracle
- Character Sets and Globalization
- Starting and Stopping Oracle Database
- High Availability with cx_Oracle
- Tracing SQL and PL/SQL Statements
API Manual¶
- Module Interface
__future__
Binary()
clientversion()
connect()
Connection()
Cursor()
Date()
DateFromTicks()
init_oracle_client()
makedsn()
SessionPool()
Time()
TimeFromTicks()
Timestamp()
TimestampFromTicks()
- Constants
- General
- Advanced Queuing: Delivery Modes
- Advanced Queuing: Dequeue Modes
- Advanced Queuing: Dequeue Navigation Modes
- Advanced Queuing: Dequeue Visibility Modes
- Advanced Queuing: Dequeue Wait Modes
- Advanced Queuing: Enqueue Visibility Modes
- Advanced Queuing: Message States
- Advanced Queuing: Other
- Connection Authorization Modes
- Database Shutdown Modes
- Event Types
- Operation Codes
- Session Pool Get Modes
- Session Pool Purity
- Subscription Grouping Classes
- Subscription Grouping Types
- Subscription Namespaces
- Subscription Protocols
- Subscription Quality of Service
- DB API Types
- Database Types
- Database Type Synonyms
- Other Types
- Exceptions
- Exception handling
- Connection Object
Connection.__enter__()
Connection.__exit__()
Connection.action
Connection.autocommit
Connection.begin()
Connection.call_timeout
Connection.cancel()
Connection.changepassword()
Connection.client_identifier
Connection.clientinfo
Connection.close()
Connection.commit()
Connection.createlob()
Connection.current_schema
Connection.cursor()
Connection.dbop
Connection.deq()
Connection.deqoptions()
Connection.dsn
Connection.edition
Connection.encoding
Connection.enq()
Connection.enqoptions()
Connection.external_name
Connection.getSodaDatabase()
Connection.gettype()
Connection.handle
Connection.inputtypehandler
Connection.internal_name
Connection.ltxid
Connection.maxBytesPerCharacter
Connection.module
Connection.msgproperties()
Connection.nencoding
Connection.outputtypehandler
Connection.ping()
Connection.prepare()
Connection.queue()
Connection.rollback()
Connection.shutdown()
Connection.startup()
Connection.stmtcachesize
Connection.subscribe()
Connection.tag
Connection.tnsentry
Connection.unsubscribe()
Connection.username
Connection.version
- Cursor Object
Cursor.__enter__()
Cursor.__exit__()
Cursor.arraysize
Cursor.bindarraysize
Cursor.arrayvar()
Cursor.bindnames()
Cursor.bindvars
Cursor.callfunc()
Cursor.callproc()
Cursor.close()
Cursor.connection
Cursor.description
Cursor.execute()
Cursor.executemany()
Cursor.executemanyprepared()
Cursor.fetchall()
Cursor.fetchmany()
Cursor.fetchone()
Cursor.fetchraw()
Cursor.fetchvars
Cursor.getarraydmlrowcounts()
Cursor.getbatcherrors()
Cursor.getimplicitresults()
Cursor.inputtypehandler
Cursor.__iter__()
Cursor.lastrowid
Cursor.outputtypehandler
Cursor.parse()
Cursor.prefetchrows
Cursor.prepare()
Cursor.rowcount
Cursor.rowfactory
Cursor.scroll()
Cursor.scrollable
Cursor.setinputsizes()
Cursor.setoutputsize()
Cursor.statement
Cursor.var()
- Variable Objects
- SessionPool Object
SessionPool.acquire()
SessionPool.busy
SessionPool.close()
SessionPool.drop()
SessionPool.dsn
SessionPool.getmode
SessionPool.homogeneous
SessionPool.increment
SessionPool.max
SessionPool.max_lifetime_session
SessionPool.max_sessions_per_shard
SessionPool.min
SessionPool.name
SessionPool.opened
SessionPool.ping_interval
SessionPool.reconfigure()
SessionPool.release()
SessionPool.soda_metadata_cache
SessionPool.stmtcachesize
SessionPool.timeout
SessionPool.tnsentry
SessionPool.username
SessionPool.wait_timeout
- Subscription Object
Subscription.callback
Subscription.connection
Subscription.id
Subscription.ip_address
Subscription.name
Subscription.namespace
Subscription.operations
Subscription.port
Subscription.protocol
Subscription.qos
Subscription.registerquery()
Subscription.timeout
- Message Objects
- Message Table Objects
- Message Row Objects
- Message Query Objects
- LOB Objects
- Object Type Objects
- Advanced Queuing (AQ)
- SODA
- SODA Requirements
- SODA Database Object
- SODA Collection Object
SodaCollection.createIndex()
SodaCollection.drop()
SodaCollection.dropIndex()
SodaCollection.find()
SodaCollection.getDataGuide()
SodaCollection.insertMany()
SodaCollection.insertManyAndGet()
SodaCollection.insertOne()
SodaCollection.insertOneAndGet()
SodaCollection.metadata
SodaCollection.name
SodaCollection.save()
SodaCollection.saveAndGet()
SodaCollection.truncate()
- SODA Document Object
- SODA Document Cursor Object
- SODA Operation Object
SodaOperation.count()
SodaOperation.fetchArraySize()
SodaOperation.filter()
SodaOperation.getCursor()
SodaOperation.getDocuments()
SodaOperation.getOne()
SodaOperation.hint()
SodaOperation.key()
SodaOperation.keys()
SodaOperation.limit()
SodaOperation.remove()
SodaOperation.replaceOne()
SodaOperation.replaceOneAndGet()
SodaOperation.skip()
SodaOperation.version()
- Deprecations