Denodo community Q&A RSS feed Latest Denodo community questions require guidance on creating new views in Denodo 2024-04-15T08:19:13Z 2024-04-15T08:19:13Z require guidance on creating new views in Denodo. We are aggregating data from old and new version of RAMOS (basically from two databases) into one source domain and building views on top of that for our downstream systems to consume. Can you suggest the right approach and what all do we need to do in order to achieve this business objective? 2024-04-15T08:19:13Z first of current year 2024-04-12T17:41:24Z 2024-04-12T17:41:24Z how do I pull first of current year and forward? for example, when the date is currently 1/1/24 to 12/31/24, I always want to get results from 1/1/2024 and forward. 2024-04-12T17:41:24Z remote table 2024-04-11T11:55:31Z 2024-04-11T11:55:31Z https://community.denodo.com/docs/html/browse/latest/en/vdp/vql/remote_tables/remote_tables Question 1: does Denodo express 8.0 has this remote table feature. Question 2: in licensed version of Denodo 8.0, can remote table fetaure write data to AWS S3 bucket. Question 3: in licensed version of Denodo 8.0, can remote table write back data to a DB for any view (base view , derived view). or there is any limitation. note: URGENT. please answer. Thanks. 2024-04-11T11:55:31Z Unexpected error creating a connection 2024-04-11T07:37:36Z 2024-04-11T07:37:36Z hi team, When attempting to connect to the data source, we encountered an error. Could you please advise on the potential issue and provide a solution? Unexpected error creating a connection: Failed to authenticate the user ctris-prod.rps-co-sqldw@gsk.com in Active Directory (Authentication=ActiveDirectoryPassword). Thnak you. 2024-04-11T07:37:36Z How to deal with BLOB in Denodo? 2024-04-11T03:07:28Z 2024-04-11T03:07:28Z Hello Team, I have a situation that I imported a base view from SAP table. But there is a column which data type is RAW in SAP. After creating base view in Denodo, the type of such column convert to BLOB. If I use cast('text',column) when creating derived view based on the base view, the result of such column is garbled. Does the issue come from decoding? Should I complete any special configurations to restrict charset when creating data source? How can I convert such BLOB to a text in order to use the column to join with other views? And in which layer I should convert the data type? Thanks. 2024-04-11T03:07:28Z Allow logging all received requests in the Scheduler REST API. 2024-04-10T18:22:27Z 2024-04-10T18:22:27Z As mentioned in the enhancementâ?¯#78114, we can now add logger to all received requests in the Scheduler Rest API. How can we configure this functionality ? And for the logs, are they stored in files ? Thanks 2024-04-10T18:22:27Z Unable to connect to vdp services with CSRF token validation errors 2024-04-10T07:11:59Z 2024-04-10T07:11:59Z denodo 06:24:27.43 INFO ==> ** Starting Design Studio ** [SSO] 6320 [RMI TCP Connection(2)-127.0.0.1] INFO 2024-04-10T06:24:35.307 com.denodo.webapp.security.sso.DenodoSSOWebApplication [] - Starting DenodoSSOWebApplication v8.0.7 using Java 11.0.8 on designstudio-1 with PID 629 (/opt/denodo/resources/apache-tomcat/webapps/sso/WEB-INF/classes started by denodo in /opt/denodo/resources/apache-tomcat/bin) [SSO] 6332 [RMI TCP Connection(2)-127.0.0.1] INFO 2024-04-10T06:24:35.319 com.denodo.webapp.security.sso.DenodoSSOWebApplication [] - No active profile set, falling back to 1 default profile: "default" [SSO] 8932 [RMI TCP Connection(2)-127.0.0.1] INFO 2024-04-10T06:24:37.919 com.denodo.webapp.security.sso.DenodoSSOWebApplication [] - Started DenodoSSOWebApplication in 3.346 seconds (JVM running for 8.975) denodo 06:24:53.00 DEBUG ==> ** Waiting for PID 629 ** [DS] 849263 [https-jsse-nio2-9443-exec-2] ERROR 2024-04-10T06:38:38.250 com.denodo.webapp.security.sso.provider.handler.LoggerAccessDeniedHandler [] - Access denied for https://denodo-domain:9445/denodo-design-studio/login?isWebLogin=false caused by Could not verify the provided CSRF token because no token was found to compare. 2024-04-10T07:11:59Z Unable to deploy REST web service 2024-04-09T15:10:04Z 2024-04-09T15:10:04Z Hello, I am working on creating a REST Web Service and am trying to deploy the web service but I am getting the error: "web service was not successfully deployed by the web container". We did review the vdp.log file and didn't find additional information for the cause of this issue and try dropping and recreating the REST web service. I still get the same error after testig that. Do you have any suggestions of what the cause could be for this error? Thanks 2024-04-09T15:10:04Z Can you query the cache for invalid or expired rows 2024-04-09T14:30:39Z 2024-04-09T14:30:39Z Is it possible to query the cache of a view for the invalid or expired rows before you run the cache cleanup? 2024-04-09T14:30:39Z UDF ReadBinary 2024-04-08T23:59:34Z 2024-04-08T23:59:34Z Hello Denodo, I'm currently facing a blocker while attempting to migrate a User-defined function from SQL Server to Denodo. I'm unsure how to convert the script into Denodo-compatible format. I've tried following the guidance provided here: https://community.denodo.com/docs/html/browse/8.0/en/vdp/developer/developing_extensions/developing_custom_functions/developing_custom_functions#developing-custom-functions. However, I find it difficult to comprehend the documentation without any accompanying examples or instructional videos to follow. I would greatly appreciate your assistance with this matter. Thank you. The script is here > ``` /****** Object: UserDefinedFunction [dbo].[udf_ReadBinary] Script Date: 8/4/2024 12:03:10 PM ******/ --Created by Arnel Labastilla 10-Aug-2017 --Reference link --http://abraaxapta.blogspot.my/2011/06/accessing-dynamics-ax-containers-from.html CREATE FUNCTION [dbo].[udf_ReadBinary](@bin AS varbinary(8000), @idx AS int) RETURNS sql_variant AS BEGIN DECLARE @pos AS int; SET @pos = 1; DECLARE @i AS int; SET @i = 1; DECLARE @off AS int; DECLARE @ret AS sql_variant; IF SUBSTRING(@bin, @pos, 2) = 0x07FD BEGIN SET @pos = @pos + 2; WHILE @idx > 0 AND SUBSTRING(@bin, @pos, 1) <> 0xFF BEGIN IF SUBSTRING(@bin, @pos, 1) = 0x00 --STRING BEGIN SET @pos = @pos + 1; SET @off = 0; SET @ret = ''; WHILE SUBSTRING(@bin, @pos + @off, 2) <> 0x0000 BEGIN SET @ret = CAST(@ret AS varchar(8000)) + CHAR(CAST(REVERSE(SUBSTRING(@bin, @pos + @off, 2)) AS binary(2))) SET @off = @off + 2; END SET @pos = @pos + @off + 2; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x01 --INT BEGIN SET @pos = @pos + 1; SET @ret = CAST(REVERSE(SUBSTRING(@bin, @pos, 4)) AS binary(4)); SET @ret = CAST(@ret AS int); SET @pos = @pos + 4; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x02 --REAL BEGIN SET @pos = @pos + 1; DECLARE @temp as binary(8); SET @temp = CAST(REVERSE(SUBSTRING(@bin, @pos + 2, 8)) AS binary(8)); DECLARE @val bigint; SET @val = 0; DECLARE @dec AS int; SET @off = 1; WHILE (@off <= 8) BEGIN SET @val = (@val * 100) + (CAST(SUBSTRING(@temp, @off, 1) AS int) / 0x10 * 10) + (CAST(SUBSTRING(@temp, @off, 1) AS int) % 0x10); SET @off = @off + 1; END WHILE @val <> 0 AND @val % 10 = 0 SET @val = @val / 10; SET @dec = (CAST(SUBSTRING(@bin, @pos, 1) AS int) + 0x80) % 0x100; SET @ret = CAST(@val AS real); WHILE @dec >= LEN(CAST(@val AS varchar)) + 0x80 BEGIN SET @ret = CAST(@ret AS real) * 10.0; SET @dec = @dec - 1; END SET @dec = (CAST(SUBSTRING(@bin, @pos, 1) AS int) + 0x80) % 0x100 + 1; WHILE @dec < LEN(CAST(@val AS varchar)) + 0x80 BEGIN SET @ret = CAST(@ret AS real) / 10.0; SET @dec = @dec + 1; END IF SUBSTRING(@bin, @pos + 1, 1) = 0x80 SET @ret = 0 - CAST(@ret AS real); SET @pos = @pos + 10; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x03 --DATE BEGIN SET @pos = @pos + 1; DECLARE @year char(4); DECLARE @month char(2); DECLARE @day char(2); SET @year = SUBSTRING(@bin, @pos, 1) + 1900; SET @month = SUBSTRING(@bin, @pos + 1, 1) + 1; SET @day = SUBSTRING(@bin, @pos + 2, 1) + 1; IF LEN(@month) < 2 SET @month = '0' + @month; IF LEN(@day) < 2 SET @day = '0' + @day; SET @ret = CAST(@year + '-' + @month + '-' + @day AS date); SET @pos = @pos + 3; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x04 --ENUM BEGIN SET @pos = @pos + 1; SET @ret = CAST(SUBSTRING(@bin, @pos, 1) AS int); SET @pos = @pos + 3; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x06 --DATETIME BEGIN SET @pos = @pos + 1; DECLARE @year2 char(4); DECLARE @month2 char(2); DECLARE @day2 char(2); DECLARE @hour char(2); DECLARE @min char(2); DECLARE @sec char(2); SET @year2 = SUBSTRING(@bin, @pos, 1) + 1900; SET @month2 = SUBSTRING(@bin, @pos + 1, 1) + 1; SET @day2 = SUBSTRING(@bin, @pos + 2, 1) + 1; SET @hour = SUBSTRING(@bin, @pos + 3, 1) + 0; SET @min = SUBSTRING(@bin, @pos + 4, 1) + 0; SET @sec = SUBSTRING(@bin, @pos + 5, 1) + 0; IF LEN(@month2) < 2 SET @month2 = '0' + @month2; IF LEN(@day2) < 2 SET @day2 = '0' + @day2; IF LEN(@hour) < 2 SET @hour = '0' + @hour; IF LEN(@min) < 2 SET @min = '0' + @min; IF LEN(@sec) < 2 SET @sec = '0' + @sec; SET @ret = CAST(@year2 + '-' + @month2 + '-' + @day2 + ' ' + @hour + ':' + @min + ':' + @sec AS datetime); SET @pos = @pos + 12; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x07 --CONTAINER BEGIN SET @pos = @pos + 1; DECLARE @len int; SET @len = DATALENGTH(@bin) - (@pos - 1); --SET @len = dbo.CONSIZE(SUBSTRING(@bin, @pos, @len)); --ORIGINAL CODE SET @len = dbo.udf_CONSIZE(SUBSTRING(@bin, @pos, @len)); --Modified by Arnel Labastilla 10/08/2017 SET @ret = SUBSTRING(@bin, @pos, @len); SET @pos = @pos + @len; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x2D --GUID BEGIN SET @pos = @pos + 1; SET @off = 0; SET @ret = CAST( REVERSE(SUBSTRING(@bin, @pos, 4)) + REVERSE(SUBSTRING(@bin, @pos + 4, 4)) + REVERSE(SUBSTRING(@bin, @pos + 8, 4)) + REVERSE(SUBSTRING(@bin, @pos + 12, 4) ) AS binary(16)); SET @ret = CAST(@ret AS uniqueidentifier); SET @pos = @pos + 16; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x30 --BLOB BEGIN SET @pos = @pos + 1; SET @off = CAST(CAST(REVERSE(SUBSTRING(@bin, @pos, 4)) AS binary(4)) AS int); SET @pos = @pos + 4; SET @ret = CAST(SUBSTRING(@bin, @pos, @off) AS varbinary(8000)); SET @pos = @pos + @off; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0x31 --INT64 BEGIN SET @pos = @pos + 1; SET @ret = CAST(CAST(REVERSE(SUBSTRING(@bin, @pos, 8)) AS binary(8)) AS bigint); SET @pos = @pos + 8; END ELSE IF SUBSTRING(@bin, @pos, 1) = 0xFC --ENUMLABEL BEGIN SET @pos = @pos + 1; DECLARE @value int; DECLARE @name varchar(40); SET @value = SUBSTRING(@bin, @pos, 1); SET @pos = @pos + 1; SET @off = 0; SET @name = ''; WHILE SUBSTRING(@bin, @pos + @off, 2) <> 0x0000 BEGIN SET @name = CAST(@name AS varchar(40)) + CHAR(CAST(REVERSE(SUBSTRING(@bin, @pos + @off, 2)) AS binary(2))) SET @off = @off + 2; END SET @ret = CAST(@name + ':' + CAST(@value as varchar(3)) as varchar(44)); SET @pos = @pos + @off + 2; END ELSE SET @ret = NULL; IF @i = @idx RETURN @ret ELSE BEGIN SET @i = @i + 1; SET @ret = NULL; END END RETURN NULL; END RETURN @ret END GO ``` 2024-04-08T23:59:34Z