L'insertion de données dans la table renvoie le code d'erreur 195

Cette question résulte des conseils que j'ai reçus dans celui- ci, à savoir la modification de ma définition de code d'erreur et d'aller de là.

Mon problème: en essayant d'insert des données dans une table, je reçois SQLCODE 00195 et SQLSTATE S0001 . Si je comprends correctement les codes d'erreur, un nombre positif non nul signifie que la requête a réussi mais avec des avertissements. Quand je regarde ma database, aucune donnée n'a été insérée. J'ai trouvé deux ressources qui décrivent ce code d'erreur comme

n'est pas un nom de fonction embedded reconnu

Comme vous le verrez, les deux fonctions utilisées dans mon expression sont TRIM et SHA1 . Si je les omets tous les deux, la même erreur persiste.

En utilisant la définition PIC -(4)9 du champ SQLCODE, comme suggéré dans mon autre article, renvoie -195 comme résultat, aussi un code d'erreur que je n'arrive pas à find.

J'utilise SQL Server 2012 et Percobol, qui utilise le compilateur OpenCobol.

Déclaration de champs:

 01 SQLCODE PIC 9(5). 01 SQLSTATE PIC X(5). 01 WS-INPUT. 05 ACHTERNAAM PIC X(25) VALUE SPACES. 05 VOORNAAM PIC X(15) VALUE SPACES. 05 EMAIL PIC X(50) VALUE SPACES. 05 LOGIN PIC X(15) VALUE SPACES. 05 WACHTWOORD PIC X(11) VALUE SPACES. 05 GEBR_TYPE PIC X(20) VALUE SPACES. 

Requête SQL:

 EXEC SQL INSERT INTO dbo.Gebruikers VALUES ( TRIM( :LOGIN ), TRIM( :ACHTERNAAM ), TRIM( :EMAIL ), TRIM( :PROJECTCODE ), TRIM( :GEBR_TYPE ), TRIM( :VOORNAAM ), SHA1( TRIM( :WACHTWOORD ) ) ) END-EXEC 

Base de données:

Présentation du tableau

Chaîne de connection:

 jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=Groep31;user=Groep31;password=somepw 

Solution : TRIM n'est pas pris en charge dans SQL Server. L'utilisation de RTRIM corrigé.

Solution : SHA1 n'est pas pris en charge dans SQL Server. L'utilisation de HashBytes('SHA1', RTRIM(:WACHTWOORD)) corrigé ceci (bien qu'il y ait quelques problèmes d'enencoding en ce moment).