Connecting to Oracle
Prerequisites
- Oracle Database 19c or later is recommended.
- The Oracle instance is accessible over the network from the PuppyGraph instance.
Configuration
| Configuration | Explanation |
|---|---|
| Username | The username of the database |
| Password | The password of the database |
| JDBC URI | A JDBC compatible connection URI of the data source. Read this page for more details on how to construct the URI. |
| JDBC Driver Class | The class name of the JDBC Driver. The default value is |
| JDBC Driver URL | The URL of the Oracle-compatible JDBC Driver. Please choose the version of the driver that is compatible with your Oracle database. |
Data Type Mapping
| Oracle Type | PuppyGraph Type | Description |
|---|---|---|
NUMBER(P, S) |
Decimal(P, S) |
Fixed-point decimal; precision P, scale S. INTEGER, INT and SMALLINT are NUMBER aliases and map the same way |
NUMBER |
Decimal(76, 0) |
NUMBER without a precision. Lossy, see the note below |
BINARY_FLOAT |
Float |
32-bit IEEE 754 floating point |
FLOAT |
Float |
32-bit IEEE 754 floating point. Oracle FLOAT holds up to 126 binary digits, so values can lose precision |
BINARY_DOUBLE |
Double |
64-bit IEEE 754 floating point |
CHAR, NCHAR, VARCHAR2, NVARCHAR2 |
String |
Character strings |
CLOB, NCLOB, LONG |
String |
Character large objects |
BLOB, RAW |
Binary |
Byte sequence |
DATE |
String |
Date and time as text, for example 2023-01-15 00:00:00.0 |
TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE |
String |
Timestamp as text |
- A
NUMBER(P, S)with a negative scale is read with scale 0 and its precision increased to match, soNUMBER(5, -2)maps toDecimal(7, 0). - A
NUMBERcolumn declared without a precision is read asDecimal(76, 0), which loses data: everything after the decimal point is dropped (123.456is read as123), and values with more than 76 digits are read as null. Declare a precision and scale, for exampleNUMBER(18, 4), for columns whose values matter. - Oracle
DATEand timestamp columns are read asString, notDateorDateTime. - Columns of any other type, such as
LONG RAW,INTERVAL,ROWID,BFILE,XMLTYPEorJSON, are not supported. They are listed in Schema Builder, but you cannot add them to a node or edge as attributes.
If you need a data type that is not supported, or one that is not listed here, contact us.
Demo
See Querying Oracle Data as a Graph for a complete demo for Oracle. The demo includes setting up the connection to an Oracle database instance.