我们正在处理核心 java 代码中的 sybase 数据库。我们org.eobjects.metamodel.DataContext
用来解析查询。
String sCol[]=table.getColumnNames();
Query query=dataContext.query().from(table.getName()).select(sCol).toQuery();
return new QueryIterator(dataContext.executeQuery(query).iterator());
但它执行查询。相同的代码可以与 Oracle 数据库一起正常工作以解析和执行查询。
生成的一些查询示例是:
- 从 ownername.City 中选择 City.CityName
- 从城市中选择 City.CityName
- 从 ownername.City 中选择 CityName
- 从城市中选择 CityName
- 从 ownername.City 中选择 ownername.City.CityName
- 从所有者名称中选择“城市”。“城市名称”。“城市”
- select * from ownername.City
没有执行上述任何查询。我们收到这些错误:
- 无法解析 FROM 令牌:“所有者名称”。“城市”
- 无法执行查询:列前缀“城市”与查询中使用的表名或别名不匹配。该表未在 FROM 子句中指定,或者它具有必须使用的相关名称。
- 无法解析 SELECT 令牌:ownername.City.CityName
我们如何使用带有 SYBASE 数据库的元模型执行查询,或者有没有其他方法可以执行 sybase 查询?