作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在核心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 数据库一起解析和执行查询。
生成的一些查询示例是:
没有执行任何上述查询。 我们收到这些错误:
我们如何使用元模型和 SYBASE 数据库执行查询,或者还有其他方法来执行 sybase 查询吗?
最佳答案
Oracle(和 Microsoft)使用 Sybase ASE 不使用的模式逻辑构造。在 SAP/Sybase ASE 中,数据库中的所有表和列都位于同一架构中。不过,用户可以在数据库中拥有自己的对象,因此可以使用用户所有权来模仿某些架构行为,但这需要额外的努力。
对于 Sybase,正确的查询语法是:
SELECT [ Col1, Col2 | * ]
FROM [dbName].[ownerName.]TABLE
就你的情况
SELECT CityName
FROM dbName.ownername.City
在 Sybase ASE 中,最佳实践通常是让所有对象都归“dbo”所有,因此在这种情况下,您可以在查询中省略所有者:
SELECT CityName
FROM dbName..City
完整的查询语法和信息可以在Query Section of the Transact SQL Users Guide in the documentation.中找到
关于java - Sybase 数据上下文 : The column prefix does not match with a table name or alias name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35055083/
我是一名优秀的程序员,十分优秀!