Denodo community Q&A RSS feed Latest Denodo community questions Connect to SQL Server Stored Procedures in Denodo 2022-10-03T07:49:35Z 2022-10-03T07:49:35Z Need help on connecting to SQL Server Stored Procedures in Denodo and then access it in PowerBI Desktop. 2022-10-03T07:49:35Z Intermittent Failure of Base View with Timeout 2022-09-30T14:25:28Z 2022-09-30T14:25:28Z We have a view that works sometime, retrieves the selected sql table and delivers, then, at random times, takes over 5min and times out with a failure. The name of the view that fails to complete contains the phrase: perf_updown_capture_chart_5yr. The error happened on 9/29 at ~9:29AM. We have the vdp log table and can attach the file to examine log records. 2022-09-30T14:25:28Z Running Queries 2022-09-30T07:18:40Z 2022-09-30T07:18:40Z Do we have any metadata procedure to check running queries in Denodo ? 2022-09-30T07:18:40Z Create Base View from Query and "@" symbol 2022-09-29T23:36:31Z 2022-09-29T23:36:31Z how do I escape or otherwise use an Oracle database link in a Create Base View from Query? Example: select * from mytable@dblink 2022-09-29T23:36:31Z Issue Masking JSON data with Denodo 2022-09-29T08:36:43Z 2022-09-29T08:36:43Z I am facing issue to mask data where the source is JSON file using Denodo. Which Steps I did : I connected JSON file and create BaseView on that. Then Flatten the BaseView. Then Create Role and Add Privileges on Role Level. Next create User and Assign the Role to the user. 2022-09-29T08:36:43Z create_datetime >= '@LAST_REFRESH_DATE' in incremental cache not delegated to the source 2022-09-27T15:45:01Z 2022-09-27T15:45:01Z I created a baseview over a cTree Datasource. I then enabled full cache, which works fine. Finally, I would like to enable incremental caching. I set the condition to create_datetime >= '@LAST_REFRESH_DATE' When I run a query, the execution trace shows, that the data is gathered from the cache, as well as from the original source. However, the condition create_datetime >= '@LAST_REFRESH_DATE' is not pushed down to the source, but the complete data is loaded, and the filtered within the vdp. If I add another where statement to the query, like "create_datetime >= now()", this one is correctly pushed to the source. So what could be the reason, that the condition for incremental caching is not pushed down? 2022-09-27T15:45:01Z REST Webservice as DataSource with optional parameters 2022-09-27T14:59:00Z 2022-09-27T14:59:00Z I am using a REST Webservice as a Datasource. To get the data, the Webservice GET function takes three Parameters "accountingClientId", "customerId" and "invoiceId". The first two are mandatory, the third is optional. I managed to do this by using ^ExecuteIfIsNotNull function in the URI of the GET, https://service.company.com/Finance/OpenedPost?accountingClientId=@{accountingClientId}&customerId=@{customerId}^ExecuteIfIsNotNull("&invoiceId=",@invoiceId,"","") and setting "invoiceId" to OPT in the view search method by VQL: CREATE WRAPPER JSON "ds_egecko_financeOpenPost_4" FOLDER = '/01 - connectivity/02 - base views' DATASOURCENAME="ds_egecko_financeOpenPost" TUPLEROOT '/JSONFile' ROUTE HTTP 'http.CommonsHttpClientConnection,120000' GET 'OpenedPost?accountingClientId=@{accountingClientId}&customerId=@{customerId}^ExecuteIfIsNotNull("&invoiceId=",@invoiceId,"","")' OUTPUTSCHEMA ("JSONFile" = 'JSONFile' : REGISTER OF ( "INVOICEID" = 'INVOICEID' : 'java.lang.String' (OPT) EXTERN, "CUSTOMERID" = 'CUSTOMERID' : 'java.lang.String' (OBL) (DEFAULTVALUE='1009283') EXTERN URIPARAM, "ACCOUNTINGCLIENTID" = 'ACCOUNTINGCLIENTID' : 'java.lang.String' (OBL) (DEFAULTVALUE='60') EXTERN URIPARAM, "JSONArray" = 'JSONArray' : ARRAY OF ( "JSONArray" = 'JSONArray' : REGISTER OF ( "opNr" = 'opNr' : 'java.lang.String', "customerId" = 'customerId' : 'java.lang.Integer', "openAmountHauseCurrency" = 'openAmountHauseCurrency' : 'java.lang.Long', "openAmountInvoiceCurrency" = 'openAmountInvoiceCurrency' : 'java.lang.Long', "dunningDate" = 'dunningDate' : 'java.lang.String', "invoiceId" = 'invoiceId' : 'java.lang.String', "invoiceDate" = 'invoiceDate' : 'java.lang.String', "invoiceType" = 'invoiceType' : 'java.lang.String', currency = 'currency' : 'java.lang.String', "opText" = 'opText' : 'java.lang.String' ) ) ) ); CREATE TABLE "ds_egecko_financeOpenPost_4" I18N de ( "INVOICEID":int, "CUSTOMERID":int, "ACCOUNTINGCLIENTID":int, "JSONArray":"ds_egecko_financeOpenPost_JSONArray" ) FOLDER = '/01 - connectivity/02 - base views' CACHE OFF TIMETOLIVEINCACHE DEFAULT ADD SEARCHMETHOD "ds_egecko_financeOpenPost"( I18N de CONSTRAINTS ( ADD "INVOICEID" (=) OPT ONE ADD "CUSTOMERID" (=) OBL ONE ADD "ACCOUNTINGCLIENTID" (=) OBL ONE ADD "JSONArray" NOS ZERO () ADD "JSONArray" NOS ZERO () ADD "JSONArray"."opNr" NOS ZERO () ADD "JSONArray"."customerId" NOS ZERO () ADD "JSONArray"."openAmountHauseCurrency" NOS ZERO () ADD "JSONArray"."openAmountInvoiceCurrency" NOS ZERO () ADD "JSONArray"."dunningDate" NOS ZERO () ADD "JSONArray"."invoiceId" NOS ZERO () ADD "JSONArray"."invoiceDate" NOS ZERO () ADD "JSONArray"."invoiceType" NOS ZERO () ADD "JSONArray".currency NOS ZERO () ADD "JSONArray"."opText" NOS ZERO () ) OUTPUTLIST ("JSONArray" ) WRAPPER (json "ds_egecko_financeOpenPost_4") ); My Problem is now, that, although I get a complete result from the view, the returned INVOICEID is always NULL. It works for the other two parameters. 2022-09-27T14:59:00Z specifying the adapter for a jdbc datasource from VQL (as opposed to: from the admin tool) 2022-09-27T10:26:32Z 2022-09-27T10:26:32Z When creating a jdbc datasource via VQL with a driver from lib/extensions/jdbc-drivers-external/... it seems that always the generic adapter is selected. However I want to control the adapter. Is that possible via VQL or in any other way programmatically? Thank you 2022-09-27T10:26:32Z LIKE is not working as expected 2022-09-26T16:03:16Z 2022-09-26T16:03:16Z I am running this code on a Denodo database, ``` SELECT TRUNC(tran_dttm) as dt, substr(device, 1, 3) AS tech, SUM(out_qty) AS moves FROM database.table WHERE facility IN '****' and device regexp_like '^P.*' AND tran_dttm >= DATE '2020-09-26' AND tran_dttm <= DATE '2022-09-26' AND tran IN 'W03' or tran IN 'W04' GROUP BY TRUNC(tran_dttm), substr(device, 1, 3) ``` I expect a result that includes only "tech" entrys that start with a "P", but I get results like the following. Date Tech 2020-01-02 00:00:00 L 2022-03-08 00:00:00 P 2021-09-25 00:00:00 P 2022-09-06 00:00:00 P 2021-08-16 00:00:00 L 2021-06-14 00:00:00 L 2021-04-29 00:00:00 P 2021-07-06 00:00:00 P Why am I getting results that do not match the regexp pattern? Am I doing something wrong? 2022-09-26T16:03:16Z Sending parameters to a Denodo REST endpoint in the body of the request 2022-09-26T12:53:47Z 2022-09-26T12:53:47Z I have created a REST API(GET) in Denodo and want to accept parametrs in the body of the request rather than the URL. Is there any alternative other than to use POST menthod and override it with "X-HTTP-Method-Override: GET"? I'm using Denodo 8.0. Thanks, Vijay Kethaneni 2022-09-26T12:53:47Z