Want to import data from JSON Lines (JSONL) to Oracle via Command Line Interface (CLI) on Linux (Ubuntu/RedHat/CentOS…)?
Using ora-cmd, a Command Line Interface (CLI) client for Oracle, you can import data from JSON Lines to Oracle easily and fast. Direct Interaction or Scripting and Automation.
- No need to install Oracle client library.
- Convenient to deploy to cloud. No need to run installation file, just uncompress and run, immediately.
- Commands are entered into a terminal or command prompt, accessed from local or remote (like SSH).
- Support Windows, Linux, and MacOS.
Download ora-cmd Linux version
JSON Lines text format, also called newline-delimited JSON (NDJSON), or Line-delimited JSON (LDJSON). JSON Lines files may be saved with the file extension .jsonl, *.ndjson, *.ldjson.
Import data from JSON Lines to Oracle via command line on Linux (Ubuntu/RedHat/CentOS…)
1. In interactive mode:
ora-cmd> load table=media_messages
> datafile=f:\media_messages.json
> filetype=json;
2. In batch mode:
ora-cmd dsn="pan:withdata@192.168.0.102:3306/test" task=load table=media_messages datafile=f:\media_messages.json filetype=json quit=y
“loadtype=replace” will delete all data in table before inserting.
See parameters detail.
More about ora-cmd – Command Line Interface (CLI) tool for Oracle
JSON → Oracle reference
Type mapping
| Value kind | in JSON | in Oracle |
|---|---|---|
| Int | 1234 (number) | NUMBER(10) |
| Bigint | 9007199254740993 | NUMBER(19) |
| Decimal | 1234.56 (number) | NUMBER(p,s) |
| Float | 1.234e10 (number) | BINARY_DOUBLE |
| Text | "text" (string) | VARCHAR2(n) |
| Long text | "multi-line\ntext" (escaped newline inside a string) | CLOB |
| Date | "2026-09-18" (string) | DATE |
| Datetime | "2026-09-18T14:30:00Z" (string) | TIMESTAMP |
| Binary | "base64:..." (string) | BLOB |
| Boolean | true / false (boolean) | NUMBER(1) |
| JSON | nested object or array, kept as structure | CLOB |
Dialect differences
JSON is a file format and Oracle is a database server, so the target has to be told the types the file never carried – the rows below are where the two sides diverge.
| Property | in JSON | in Oracle |
|---|---|---|
| port | — | 1521 |
| identifiers | Double quotes; backslash escapes | "double quotes" |
| row limit | — | FETCH FIRST n ROWS ONLY |
| dates | No date type: dates arrive as strings and the reader must p... | DATE, TIMESTAMP |
| long text | — | CLOB, NCLOB |
| binary | Not supported natively - base64 inside a string | BLOB, BFILE |
| separator | Braces and commas | — |
| encoding | UTF-8 by definition | — |
| typing | string, number, boolean, null, object, array - no date type | — |
| shape | Nested objects and arrays | Tables of rows and columns |
| ceiling | Whole document is usually parsed into memory | — |
Command line
| Side | Command |
|---|---|
| Oracle | exp / expdp |
| Oracle (load) | sqlldr (SQL*Loader) |
Convert your data online, free
Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.
