Use sql*plus run SQL file
sqlplus username/password@databasename @/path/to/test.sql
If you want to see whats going on like this, including any error messages, you need connect to SQL*Plus with
sqlplus username/password@databasename
Then run the script from the SQL*Plus prompt:
set echo on @/path/to/test.sql
SQL → Oracle reference
Type mapping
| Value kind | in SQL | in Oracle |
|---|---|---|
| Int | INT | NUMBER(10) |
| Bigint | BIGINT | NUMBER(19) |
| Decimal | DECIMAL(p,s) | NUMBER(p,s) |
| Float | DOUBLE PRECISION | BINARY_DOUBLE |
| Text | VARCHAR(n) | VARCHAR2(n) |
| Long text | TEXT / CLOB | CLOB |
| Binary | BLOB / BYTEA | BLOB |
| Boolean | BOOLEAN / SMALLINT | NUMBER(1) |
| JSON | JSON / TEXT | CLOB |
Dialect differences
SQL 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 SQL | in Oracle |
|---|---|---|
| port | — | 1521 |
| identifiers | Two competing conventions: single-quoted literals and diale... | "double quotes" |
| row limit | — | FETCH FIRST n ROWS ONLY |
| dates | Depends on the dialect: DATE literals, TO_DATE(), or plain ... | DATE, TIMESTAMP |
| long text | — | CLOB, NCLOB |
| binary | Dialect-specific: X-quoted literal, 0x hex, or decode() | BLOB, BFILE |
| separator | Statement terminators (;) | — |
| encoding | No declaration | — |
| typing | Types belong to the target database, and they differ betwee... | — |
| shape | Statements; a dump usually means CREATE TABLE plus INSERT rows | Tables of rows and columns |
| ceiling | No formal limit, but a single INSERT statement has to fit i... | — |
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.