Skip to main content

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

  • July 17, 2013
  • 2 replies
  • 19 views

Oleg_1
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

2 replies

Oleg_1
  • Author
  • New Participant
  • July 17, 2013
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?

Adrian_Oprea_1
Forum|alt.badge.img+1
  • Participating Frequently
  • August 11, 2015

 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