Skip to content

Commit 18145b8

Browse files
Add feature list and make other improvements to README.
1 parent 52e1960 commit 18145b8

File tree

1 file changed

+109
-12
lines changed

1 file changed

+109
-12
lines changed

README.md

Lines changed: 109 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,40 @@ which is far easier to install.
3232
Issues and questions can be raised with the cx_Oracle community on
3333
[GitHub][9] or on the [mailing list][5].
3434

35+
## Documentation
36+
37+
See the [cx_Oracle Documentation][2].
3538

3639
## Installation
3740

38-
Binaries for some platforms are available at [PyPI][6]. If you prefer to build
39-
your own you can use this command
41+
The simplest way to install cx_Oracle 6 Beta is with pip:
42+
43+
python -m pip install cx_Oracle --pre
4044

41-
python -m pip install cx_Oracle
45+
If a binary wheel package is not available on [PyPI][6] for your
46+
platform, the source package will be used.
4247

43-
which will download the source package, build and install it. Otherwise, you
44-
can download the source package directly from PyPI, extract it and run these
45-
commands instead
48+
If you prefer, the source package can be downloaded manually from [PyPI][6] and
49+
extracted, after which the following commands should be run:
4650

4751
python setup.py build
4852
python setup.py install
4953

50-
This module is built with [ODPI-C][10] which supports versions 11.2, 12.1 and
51-
12.2 of the Oracle Client libraries on Linux, Windows and macOS. Others have
52-
reported success with other platforms.
54+
Note that if you download a source zip file directly from GitHub that
55+
you will also need to download an [ODPI-C][10] source zip file and
56+
extract it inside a directory called "odpi".
5357

58+
After cx_Oracle is installed, Oracle client libraries must also be
59+
installed and configured. If you need the libraries, you can download
60+
and unzip the [Oracle Instant Client][4] 'Basic' package for your
61+
platform and set PATH, LD_LIBRARY_PATH, or similar platform-specific
62+
library path loading environment. See the
63+
[installation notes for ODPI-C][13] for help with installing and configuring an
64+
Oracle client.
65+
66+
Versions 11.2, 12.1 and 12.2 of the Oracle Client libraries on Linux,
67+
Windows and macOS are supported. Users have also reported success
68+
with other platforms.
5469

5570
## Usage Example
5671

@@ -78,9 +93,88 @@ for column_1, column_2, column_3 in cursor:
7893
```
7994

8095

81-
For more examples, please see the test suite in the test directory and the
82-
samples in the samples directory. You can also look at the scripts in the
83-
[cx_OracleTools][7] and the modules in the [cx_PyOracleLib][8] projects.
96+
For more examples, please see the [test suite][11] and the
97+
[samples][12]. You can also look at the scripts in the [cx_OracleTools][7] and
98+
the modules in the [cx_PyOracleLib][8] projects.
99+
100+
## Features
101+
102+
- Easily installed from PyPI.
103+
104+
- Support for Python 2 and 3.
105+
106+
- Support for Oracle Client 11.2, 12.1 and 12.2. Oracle's standard
107+
cross-version interoperability, allows easy upgrades and
108+
connectivity to different Oracle Database versions.
109+
110+
- Connect to Oracle Database 9.2, 10, 11 or 12 (depending on the
111+
Oracle Client version used).
112+
113+
- SQL and PL/SQL Execution, with full support for OCI features like
114+
statement caching and statement caching auto-tuning. Oracle OCI
115+
(which is the database access layer used by cx_Oracle) has
116+
significant optimizations, including compressed fetch, pre-fetching,
117+
client and server result set caching, and statement caching.
118+
cx_Oracle applications can additionally make full use of PL/SQL to
119+
keep business logic near the data in the database, where it can be
120+
processed without having to ship large volumes of data to the
121+
application.
122+
123+
- Full use of Oracle Network Service infrastructure, including
124+
encrypted network traffic and security features.
125+
126+
- Extensive Oracle data type support, including large object support (CLOB
127+
and BLOB).
128+
129+
- Direct binding to SQL objects. One great use case is binding Python
130+
objects to Oracle Spatial SDO objects.
131+
132+
- Array operations for efficient INSERT and UPDATEs.
133+
134+
- Array row counts and batch error handling for array operations.
135+
136+
- Fetching of large result sets.
137+
138+
- REF CURSOR support.
139+
140+
- Support for scrollable cursors. Go back and forth through your query
141+
results.
142+
143+
- Fetch PL/SQL Implicit Results. Easily return query results from
144+
PL/SQL.
145+
146+
- Row Prefetching. Efficient use of the network.
147+
148+
- Client Result Caching. Improve performance of frequently executed
149+
look-up statements.
150+
151+
- Support for Advanced Queuing. Use database notifications to build
152+
micro-service applications.
153+
154+
- Continuous Query Notification. Get notified when data changes.
155+
156+
- Support for Edition Based Redefinition. Easily switch applications
157+
to use updated PL/SQL logic.
158+
159+
- Support for setting application context during the creation of a
160+
connection, making application metadata more accessible to the
161+
database, including in LOGON triggers.
162+
163+
- End-to-end monitoring and tracing.
164+
165+
- Transaction Management.
166+
167+
- Session Pooling.
168+
169+
- Database Resident Connection Pooling (DRCP).
170+
171+
- Privileged Connections.
172+
173+
- External Authentication.
174+
175+
- Database startup and shutdown.
176+
177+
- Oracle Database High Availability Features, such as FAN notifications and Transaction Guard support.
84178

85179
[1]: https://www.python.org/dev/peps/pep-0249
86180
[2]: http://cx-oracle.readthedocs.io
@@ -92,4 +186,7 @@ samples in the samples directory. You can also look at the scripts in the
92186
[8]: http://cx-pyoraclelib.sourceforge.net
93187
[9]: https://github.com/oracle/python-cx_Oracle/issues
94188
[10]: https://oracle.github.io/odpi
189+
[11]: https://github.com/oracle/python-cx_Oracle/tree/master/test
190+
[12]: https://github.com/oracle/python-cx_Oracle/tree/master/samples
191+
[13]: https://oracle.github.io/odpi/doc/installation.html
95192

0 commit comments

Comments
 (0)