2016-01-29 1 views
0

H2 gens, J'ai un H2-Base de données Table comme ceci:H2 csvread chiffrer

CREATE TABLE Achimv 
       (
       NAME  CHAR(10)   
       , VORNAME CHAR(10) 
       , PLZ  CHAR(10)   
       ) 
    ; 

et j'ai un fichier csv avec '$' comme séparateurs de lignes:

Berger $Willi$26531 
Meyer $Hans $85322 
Klausen$Till $52389 

et les -Insert états fonctionnent parfaitement comme suit:

INSERT INTO Achimv 
    SELECT * FROM CSVREAD 
       ('E:/Achimv.csv', 
        ' NAME 
        $ VORNAME 
        $ PLZ 
        ', 'charset=UTF-8 fieldSeparator=$'); 

Mais maintenant, la table doit être rempli avec les deux premières rangées étant AES cryptée et le troisième pas.

Ma modification (fait comme dans le H2-Dokumentation-pdf):

. . . . . 

      ('E:/Achimv.csv', 
       ' ENCRYPT('AES', '00', STRINGTOUTF8(NAME)) 
       $ ENCRYPT('AES', '00', STRINGTOUTF8(VORNAME)) 
       $ PLZ 
       ', 'charset=UTF-8 fieldSeparator=$'); 

terminé avec un SQL-erreur de syntaxe:

. . . 
' ENCRYPT('AES[*]', '00', STRINGTOUTF8(NAME)) 

Comment est-il possible de charger-données CSV avec CSVREAD en combinaison avec ENCRYT ?

Merci à l'avance

Achim

Répondre

1
INSERT INTO Achimv 
SELECT 
    ENCRYPT('AES', '00', STRINGTOUTF8(NAME)), 
    ENCRYPT('AES', '00', STRINGTOUTF8(VORNAME)), 
    PLZ 
FROM CSVREAD 
      ('E:/Achimv.csv', 
       ' NAME 
       $ VORNAME 
       $ PLZ 
       ', 'charset=UTF-8 fieldSeparator=$'); 
+0

@ Thomas: Merci pour la réponse rapide et utile! – SenSur