2015-01-14 3 views
0

Я получаю синтаксическое исключение из Sybase ASE 12.5.3. потому что #t temp-таблица передается серверу sql в качестве параметра. Если JPQL (Eclipselink в Glassfish 3.1.2) просто оставит его так, как будто он будет работать. Я тестирую его в своем редакторе SQL.Временная таблица JPQL с Sybase ASE

String sql = 
"select convert(date, remsfSEND) as send, remsID " 
+ "into #t " 
+ "from prd.REMEMBERSEARCHFOUND " 
+ "where remsfSEND is not null " 
+ "group by convert(date, remsfSEND), remsID " 
+ " \n" 
+ "select send, count(*) " 
+ "from #t " 
+ "group by send "; 
Query query = em_local.createNativeQuery(sql); 
List<Object []> list = query.getResultList(); 
List<RememberSearchStatItem> res = new ArrayList<RememberSearchStatItem>(); 
for (Object [] o : list) { 
    res.add(new RememberSearchStatItem((Date)o[0], (Integer)o[1])); 
} 
return res; 



Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): 
org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: com.sybase.jdbc3.jdbc.SybSQLException: Falsche Syntax bei '@p0'. 
Error Code: 102 

ответ

Смежные вопросы