Itgenclr009 lors de l'utilisation de ascii_to_blob dans Invantive Data Hub 26.0

Lors de l’exécution de la commande SQL ci-dessous dans Invantive Data Hub 26.0, je reçois ce message d’erreur. Ce message d’erreur n’est pas apparu dans la version 25.0 :

10:29:03.074 itgensql264: Instruction Invantive UniversalSQL démarrée.
**** 10:29:03.148 Avertissement itgendhb173: Contexte : d:\jobs\sql\xxtshtsis.sql: insert into write_file@os
( file_contents
, file_path
)
se...mts
         from FTPFILESTOREMOVE@InMemoryStorage
       ) t
10:29:03.154 Erreur itgenclr009 : Erreur externe dans Invantive Data Hub.

Expression de type 'System.Byte[]' ne peut pas être utilisée pour le paramètre de type 'System.String' de la méthode 'Byte[] AsciiToBlob(Invantive.Basics.GlobalState, Invantive.Basics.ExecutionOptions, Invantive.Basics.SqlExecutionStep, System.String)' (Paramètre 'arg3').
10:29:03.158 Question itgencun002: Afficher les détails ? Question ? [y/N]

Instruction SQL :

create or replace table FtpFilesToRemove@InMemoryStorage
as
select regexp_replace(regexp_replace(cte.txt, ' => .*', ''), 'remote:/home/ACME/AcmeSISorders/', '')
       file_name
from   read_file_text@Os
       ( '${LOG_PATH}\download-ftp-${TIMESTAMP}.log'
       ) rft
join   csvtable
       ( passing rft.file_contents
         column delimiter '########'
         columns txt varchar2 position next
       ) cte
on     cte.txt like 'remote:%.xml'

insert into write_file@os
( file_contents
, file_path
)
select ascii_to_blob
       ( 'cd AcmeSISorders'
         || chr(13) || chr(10) || t.delete_stmts
         || chr(13) || chr(10) || 'quit'
       )
,      '${OUT_PATH}\delete-ftp.scr'
from   ( select listagg('delete ' || file_name, chr(13) || chr(10)) delete_stmts
         from FTPFILESTOREMOVE@InMemoryStorage
       ) t

La pile d’appels est :

Expression de type 'System.Byte[]' ne peut pas être utilisée pour le paramètre de type 'System.String' de la méthode 'Byte[] AsciiToBlob(Invantive.Basics.GlobalState, Invantive.Basics.ExecutionOptions, Invantive.Basics.SqlExecutionStep, System.String)' (Paramètre 'arg3').
10:37:17.030 System.ArgumentException
ValidationException
   at System.Dynamic.Utils.ExpressionUtils.ValidateOneArgument(MethodBase method, ExpressionType nodeKind, Expression arguments, ParameterInfo pi, String methodParamName, String argumentParamName, Int32 index)
   at System.Linq.Expressions.Expression.Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3)
   at Invantive.Sql.V1.TransformToExpression.HandleFunctionAscii_to_blob(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager manager, ExpressionAndFilter[] expressionAndFilters, Expression[] expressions, String sqlFunctionLowerCase)
   at Invantive.Sql.V1.TransformToExpression.VisitFunctionExpression...utionOptions executionOptions, SparseArrayPool sparseArrayPool, String statement, ResultSet& resultSet, Action`3 fetchMoreRows, Action`9 executeStatement, Boolean isInInteractiveMode, ScriptingLanguageNextStepSpecification& nextStepSpecification) in c:\smoke\ws-26.0\Invantive.Data.Hub\src\Invantive.Producer.Data.Hub\QueryEngine.cs:line 2555
   at Invantive.Producer.Data.Hub.QueryEngine.ProcessStatements(GlobalState owner, ExecutionOptions executionOptions, SparseArrayPool sparseArrayPool, Action`3 fetchMoreRows, Action`9 executeStatement, IEnumerable`1 statements, String sourceFileName, ScriptingLanguageNextStepSpecification& exitSpecification) in c:\smoke\ws-26.0\Invantive.Data.Hub\src\Invantive.Producer.Data.Hub\QueryEngine.cs:line 1604
10:37:17.040 itgendhb221 : Fin de l'exécution du programme avec le code de sortie 6.
10:37:17.041 itgendhb068 : Fin du programme le 24-6-2026 10:37:17.
itgenpgm001 : Fin de l'application

Ce problème est résolu dans la version 26.0.155 et ultérieure.

Il est téléchargeable sur https://download.invantive.com.