In diesem Artikel gebe ich ein Beispiel für den Export von Daten in eine JSON-Datei in Oracle 11g mit PL/SQL.
Befolgen Sie diese Schritte, um Daten in eine JSON-Datei in Oracle 11g zu exportieren
- Laden Sie zunächst das Dienstprogrammpaket Alexandria PL/SQL von GITHUB über den folgenden Link herunter:Download alexandria_plsql_utility package.
- Nachdem Sie die ZIP-Datei heruntergeladen haben, extrahieren Sie sie und suchen Sie das JSON_UTIL_PKG im Verzeichnis "alexandria-plsql-utils-master\alexandria-plsql-utils-master\ora".
- Installieren Sie die JSON_UTIL_PKG-Paketspezifikation und den Hauptteil in Ihrem Schema
- Laden Sie danach die PL/SQL-Prozedur "WRITE_CLOB_TO_FILE" über den folgenden Link herunter:Download Write_Clob_To_File.
- Installieren Sie diese Prozedur auch in Ihr Schema.
Jetzt können Sie die JSON-Datei aus der Oracle-Tabelle mit PL/SQL generieren, wie im folgenden Beispiel gezeigt.
Oracle 11g SQL zu JSON-Beispiel
Im folgenden Beispiel erhalten wir die Daten mithilfe der JSON_UTIL_PKG.SQL_TO_JSON-Funktion in die CLOB-Variable und dann schreiben wir, dass CLOB JSON-Daten hat, in eine DATEI, indem wir die WRITE_CLOB_TO_FILE-Prozedur verwenden . Wir werden drei Parameter an die WRITE_CLOB_TO_FILE-Prozedur übergeben, und zwar wie folgt:ein Dateiname, ein Verzeichnisobjektname und die CLOB-Variable.
DECLARE c CLOB; BEGIN SELECT json_util_pkg.sql_to_json('select EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO from emp2') INTO c FROM DUAL; WRITE_CLOB_TO_FILE ('emp.json', 'JSON_DIR', c); END; /
Jetzt können Sie den Speicherort des Verzeichnisobjekts JSON_DIR überprüfen und finden die JSON-Datei wie in der folgenden Beispielausgabe gezeigt:
{"ROWSET":[{"EMPNO":7369,"ENAME":"SMITH","JOB":"CLERK","MGR":7902,"HIREDATE":"17-DEC-80","SAL":800,"COMM":null,"DEPTNO":21},{"EMPNO":7499,"ENAME":"ALLEN","JOB":"SALESMAN","MGR":7698,"HIREDATE":"20-FEB-81","SAL":1600,"COMM":300,"DEPTNO":30},{"EMPNO":7521,"ENAME":"WARD","JOB":"SALESMAN","MGR":7698,"HIREDATE":"22-FEB-81","SAL":1250,"COMM":500,"DEPTNO":30},{"EMPNO":7566,"ENAME":"JONES","JOB":"MANAGER","MGR":7839,"HIREDATE":"04-FEB-81","SAL":2975,"COMM":null,"DEPTNO":20},{"EMPNO":7654,"ENAME":"MARTIN","JOB":"SALESMAN","MGR":7698,"HIREDATE":"28-SEP-81","SAL":1250,"COMM":1400,"DEPTNO":30},{"EMPNO":7698,"ENAME":"BLAKE","JOB":"MANAGER","MGR":7839,"HIREDATE":"05-JAN-81","SAL":2850,"COMM":null,"DEPTNO":30},{"EMPNO":7782,"ENAME":"CLARK","JOB":"MANAGER","MGR":7839,"HIREDATE":"06-SEP-81","SAL":2450,"COMM":null,"DEPTNO":10},{"EMPNO":7788,"ENAME":"SCOTT","JOB":"ANALYST","MGR":7566,"HIREDATE":"19-APR-87","SAL":3000,"COMM":null,"DEPTNO":20},{"EMPNO":7839,"ENAME":"KING","JOB":"PRESIDENT","MGR":null,"HIREDATE":"17-NOV-81","SAL":5000,"COMM":null,"DEPTNO":10},{"EMPNO":7844,"ENAME":"TURNER","JOB":"SALESMAN","MGR":7698,"HIREDATE":"09-AUG-81","SAL":1500,"COMM":0,"DEPTNO":30},{"EMPNO":7876,"ENAME":"ADAMS","JOB":"CLERK","MGR":7788,"HIREDATE":"23-MAY-87","SAL":1100,"COMM":null,"DEPTNO":20},{"EMPNO":7900,"ENAME":"JAMES","JOB":"CLERK","MGR":7698,"HIREDATE":"12-MAR-81","SAL":950,"COMM":null,"DEPTNO":30},{"EMPNO":7902,"ENAME":"FORD","JOB":"ANALYST","MGR":7566,"HIREDATE":"12-MAR-81","SAL":3000,"COMM":null,"DEPTNO":20},{"EMPNO":7934,"ENAME":"MILLER","JOB":"CLERK","MGR":7782,"HIREDATE":"23-JAN-82","SAL":1300,"COMM":null,"DEPTNO":10}]}
Siehe auch:
- Daten mit PLSQL nach Excel exportieren
- Daten mit PL/SQL in CSV exportieren