0

I am getting below error when trying to fetch data from two different mssql servers:

TEIID31100 Parsing error: Encountered "SELECT id, [*]parameter[*], value" at line 9, column 12. Was expecting: "char" | "date" | "time" | "timestamp" | "cast" | "convert" | "any" | "array" | "array_agg" | "case" ... at org.teiid.query.parser.QueryParser.convertParserException(QueryParser.java:231) ~[teiid-engine-16.0.0.jar:16.0.0] ... 28 common frames omitted

My Class:

 @SelectQuery("SELECT id, parameter, value, created_date FROM database63.DAC_SYS_MEMORY"
         + " UNION ALL"
         + " SELECT id, parameter, value, created_date FROM database54.DAC_SYS_MEMORY")
 public class CustomRecord {

    @Id
    @Column(name="ID")
    private int id;
    @Column(name="Parameter")
    private String parameter;
    @Column(name="Value")
    private String value;
    @Column(name="created_date")
    private Date createdDate;

I have integrated Teiid spring boot and been trying to fetch data from two diff sqlservers

rghome
  • 8,529
  • 8
  • 43
  • 62
  • i would make a guess that this teiid thing doesn't handle UNIONs in query, seems it wants to parse the query manually and fails – siggemannen Jul 17 '23 at 13:38
  • @siggemannen, as per the documentation(https://github.com/teiid/teiid-spring-boot/blob/master/docs/UserGuide.adoc) it supports. – SamanthPadala Jul 17 '23 at 17:52
  • @ramesh-reddy kindly, can you help me out here ? – SamanthPadala Jul 17 '23 at 17:59
  • 1
    aha, i think "parameter" is a reserved word in their parser. So you should use another column name. Also, database54.DAC_SYS_MEMORY, shouldn't it be database54.dbo.DAC_SYS_MEMORY – siggemannen Jul 17 '23 at 18:07
  • @siggemannen Getting same error even when I use 'database54.dbo.DAC_SYS_MEMORY'. Alternatively, we can add 'spring.datasource.database54.importer.SchemaPattern=dbo' in application.properties file (which I am using). – SamanthPadala Jul 18 '23 at 05:50

0 Answers0