Oracle connection#
- class onetl.connection.db_connection.oracle.connection.Oracle(*, spark: SparkSession, user: str, password: SecretStr, host: Host, port: int = 1521, sid: str | None = None, service_name: str | None = None, extra: OracleExtra = OracleExtra())#
-
Based on Maven package
com.oracle.database.jdbc:ojdbc8:23.2.0.0
(official Oracle JDBC driver).Warning
Before using this connector please take into account Prerequisites
- Parameters:
- hoststr
Host of Oracle database. For example:
test.oracle.domain.com
or193.168.1.10
- portint, default:
1521
Port of Oracle database
- userstr
User, which have proper access to the database. For example:
SOME_USER
- passwordstr
Password for database connection
- sidstr, default:
None
Sid of oracle database. For example:
XE
Warning
You should provide either
sid
orservice_name
, not both of them- service_namestr, default:
None
Specifies one or more names by which clients can connect to the instance.
For example:
PDB1
.Warning
You should provide either
sid
orservice_name
, not both of them- spark
pyspark.sql.SparkSession
Spark session.
- extradict, default:
None
Specifies one or more extra parameters by which clients can connect to the instance.
For example:
{"remarksReporting": "false"}
- See official documentation:
Examples
Connect to Oracle using
sid
:from onetl.connection import Oracle from pyspark.sql import SparkSession # Create Spark session with Oracle driver loaded maven_packages = Oracle.get_packages() spark = ( SparkSession.builder.appName("spark-app-name") .config("spark.jars.packages", ",".join(maven_packages)) .getOrCreate() ) # Create connection oracle = Oracle( host="database.host.or.ip", user="user", password="*****", sid="XE", extra={"remarksReporting": "false"}, spark=spark, )
Using
service_name
:... oracle = Oracle( host="database.host.or.ip", user="user", password="*****", service_name="PDB1", extra={"remarksReporting": "false"}, spark=spark, )
- check()#
-
If not, an exception will be raised.
- Returns:
- Connection itself
- Raises:
- RuntimeError
If the connection is not available
Examples
connection.check()
- classmethod get_packages(java_version: str | Version | None = None) list[str] #
Get package names to be downloaded by Spark.
- Parameters:
- java_versionstr, default
8
Java major version.
- java_versionstr, default
Examples
from onetl.connection import Oracle Oracle.get_packages() Oracle.get_packages(java_version="8")