Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 546 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 442 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
How can I use methods on Packages which return JSON on oracledb

Hello...
I started exploring oracledb package in order to possibly substitute ORDS. Every request we have published declares a JSON variable that gets populated when we run a function from a PL/SQL Package. Is it possible to run that function in oracledb that returns a JSON data type from Oracle?
Answers
-
Hello 98371...
What do you mean by JSON data type? What version of the database are you using?
I'm guessing you're either using PL/JSON or built-in JSON types in 12.2. In either case, you should be able to serialize the JSON object to a string (or CLOB). The driver has supported CLOBs as streams for a while but recent enhancements make it even easier to fetch CLOBs as strings without having to stream them.
Regards,
Dan
-
If you're not using Oracle Database's JSON support you are probably already storing your JSON as VARCHAR or CLOB. As Dan mentioned, you can easily transfer JavaScript strings in Node.js to and from these Oracle types using node-oracledb.
The Oracle Database JSON datatype support was introduced is in 12.1.0.2 (with enhancements in 12.2). It actually also stores the data in VARCHARs or LOBs, so node-oracledb can access the JSON directly with normal inserts & updates. The extra database-side JSON features make working with data much easier, e.g. you can access individual entries in nested JSON objects by using x.y.z syntax. Check out Database JSON Developer's Guide - Contents Also see the node-oracledb documentation and examples at https://github.com/oracle/node-oracledb/blob/master/doc/api.md#jsondatatype and https://github.com/oracle/node-oracledb/tree/master/examples
(see selectjson.js and selectjsonclob.js)