"Missing a matching closing delimiter in statement" error during executing insert ... select command

Hi, when I try to execute command like this insert into I$_REGION(R_REGIONKEY,R_NAME,IND_UPDATE) SELECT C1_R_REGIONKEY,C2_R_NAME,'I' as IND_UPDATE from C$_0REGION over JDBC connection I got this error (error message copied from SQuirrel SQL client version 3.5.0): Error: [Vertica][VJDBC](100111) Missing a matching closing delimiter in statement insert into I$_REGION(R_REGIONKEY,R_NAME,IND_UPDATE) SELECT C1_R_REGIONKEY,C2_R_NAME,'I' as IND_UPDATE from C$_0REGION SQLState: 42000 ErrorCode: 100111 Same error appeared when I use Oracle Data Integrator tool. Within VSQL same command is executed without any error I installed Vertica Community Edition 6.1.2 on Redhat Enterprise Linux 5.6 64bit. JDBC driver - also 6.1.2 on MS Windows

Comments

  • Enclosing target table in double quote resolve this problem, so SQL like this is executed without error: insert into "I$_REGION"(R_REGIONKEY,R_NAME,IND_UPDATE) SELECT C1_R_REGIONKEY,C2_R_NAME,'I' as IND_UPDATE from C$_0REGION It seems that error produce dollar char ($) in target (table after INSERT INTO clause) table name. Is it a bug in JDBC driver?
  •  Hi Oleg,

    Just remove $ character from your columns/objects definition and the query will be abre to run fine.

     

    If you would run the query in vsql even with the $ character will work/execute fine.

     

    But jdbc has some parameter calling with $ character i think, not sure .

     

    Hope this works

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file