JSON_SHRED_BATCH resides in the SYSLIB database. The user executing the JSON_SHRED_BATCH procedure must have the following privileges:
- EXECUTE PROCEDURE on SYSLIB
- SELECT privilege on the source table
- GRANT ALL (insert/update/delete/upsert) on the target table
The database where the procedure is executing must have all privileges on SYSUDTLIB, SYSLIB, and the database where the target table exists and EXECUTE PROCEDURE on SYSLIB.
SYSLIB must have all privileges on the database which is executing the procedure.
For example, if the database where the procedure is executing and where the target table exists is called JSONShred, then the following statements will assign the required privileges:
GRANT ALL ON SYSUDTLIB TO JSONShred; GRANT ALL ON SYSLIB TO JSONShred; GRANT EXECUTE PROCEDURE ON SYSLIB TO JSONShred; GRANT ALL ON JSONShred TO JSONShred; GRANT ALL ON JSONShred TO SYSLIB;
The following three privileges from above are mandatory:
- GRANT ALL ON SYSLIB TO JSONShred;
- GRANT EXECUTE PROCEDURE ON SYSLIB TO JSONShred;
- GRANT ALL ON JSONShred TO JSONShred;
If the login user is jsonshred and the target table is targetDB, then the following privileges are required:
GRANT EXECUTE PROCEDURE ON SYSLIB TO jsonshred; GRANT ALL ON targetDB TO jsonshred;
If the source table, sourceDB, is different from targetDB, then the following privilege is also required:
GRANT SELECT ON sourceDB TO jsonshred;