INSERT INTO SOMESERVER...[SomeTable] ([ID], [Timestamp]) VALUES (746, 1504500000)

This statement is missing delimiters for the identifiers in an ODBC trace.

"INSERT INTO SomeTable ( ID,Timestamp) VALUES(?,?)"

Therefore the statement results in an error due to the reserved word Timestamp. How can we add the required delimiters?

  • Microsoft SQL Server Express (64-bit) Version 12.0.5207.0
  • Microsoft OLE DB Provider for ODBC Drivers
  • 4D v13 ODBC Driver 64 bits

Update: as a workaround, we created a service to insert the missing delimiters by intercepting the network communication between the ODBC driver and the 4D database.

  • 1
    Have your tried double quotes in place of the brackets? INSERT INTO SomeTable ("ID", "Timestamp") VALUES(746,1504500000) – Scott Hodgin Sep 14 '17 at 9:03
  • Why are you using ODBC and a third party driver to access another SQL Server via a linked server? – Dan Guzman Sep 14 '17 at 10:02
  • @Scott double quotes behave the same way. – cadull Sep 14 '17 at 13:57
  • @Dan we are accessing a 4th Dimension (4D) database from SQL Server. – cadull Sep 14 '17 at 14:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.