Closed tylerinsd closed 1 year ago
I can't reproduce the problem - which may be caused by permissions (my express test system only has admin privileges). the collectDataSourcesforSchema method does the following:-
select * from get_elements() where input_database_name = '[dbname]' and input_type='DataSources'
desc vql datasource <subtype> "[database]"."[datasource name]"
to extract the datasource definition and then parses the contents to help with lineage outside of denodo if you try the desc vql datasource for one of the datasources mentioned in the Virtual DataPort administration tool - do you get the same error?
I found an article here:- https://community.denodo.com/answers/question/details?questionId=9060g000000bm74AAA&title=DESC+VQL+VIEW+require+Write+Permission that has the following statement:-
Denodo Platform 7.0 makes the platform more secure than before. One of the security implementations is to restrict the user with only WRITE privilege to execute the “DESC VQL VIEW” command. It prevents other users from copying the view code and duplicating them on a database over which the user has the privilege.
looking more closely at the Denodo documentation:- https://community.denodo.com/docs/html/browse/7.0/vdp/administration/databases_users_and_access_rights_in_virtual_dataport/user_and_access_right_in_virtual_dataport/user_and_access_right_in_virtual_dataport
the WRITE privilege is required for:-
D:\Informatica\denodoCustomScanner>D:\Informatica\10.2.2\jre\bin\java -cp "denodoCustomScanner.jar;l ib/*" com.infa.edc.scanner.jdbc.DenodoScanner denodoprd.properties agreeToDisclaimer > D:\Informatic a\denodoCustomScanner\command_prd.txt java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_asana_CustomFie lds' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_asana_ProjectTa sks' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_asana_Projects'
1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_asana_Story' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_asana_TaskStori es' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_asana_Tasks' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_BaseSpace' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_ETQ' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_IdentityStore' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_denodocache_prd ' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_jira' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_projectsdata' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_pspstatus' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_tableau_workgro up' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_tableau_workgro up_v10_3_2' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the datasource 'ds_ldap' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.collectDataSourcesforSchema(DenodoScanner.java:26 1) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:201) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) java.sql.SQLException: The user does not have WRITE privileges on the view 'bv_asana_CustomFields' at com.denodo.vdb.jdbcdriver.printer.VDBJDBCPrinter.format(VDBJDBCPrinter.java:158) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:623) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:586) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:580) at com.denodo.vdb.jdbcdriver.dao.DAOVDBProxy.execute(DAOVDBProxy.java:575) at com.denodo.vdb.jdbcdriver.VDBJDBCStatement.executeQuery(VDBJDBCStatement.java:321) at com.infa.edc.scanner.jdbc.DenodoScanner.extractWrapper(DenodoScanner.java:1408) at com.infa.edc.scanner.jdbc.DenodoScanner.getTables(DenodoScanner.java:342) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:222) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158) Exception in thread "main" java.lang.NullPointerException at com.infa.edc.scanner.jdbc.DenodoScanner.getTables(DenodoScanner.java:351) at com.infa.edc.scanner.jdbc.DenodoScanner.getSchemas(DenodoScanner.java:222) at com.infa.edc.scanner.jdbc.DenodoScanner.getCatalogs(DenodoScanner.java:177) at com.infa.edc.scanner.jdbc.GenericScanner.run(GenericScanner.java:251) at com.infa.edc.scanner.jdbc.DenodoScanner.main(DenodoScanner.java:158)
D:\Informatica\denodoCustomScanner>