Oracle Странная ошибка: непредвиденная ошибка ORA-00937: не групповая функция для одной группы - PullRequest
0 голосов
/ 08 декабря 2010

Странная ошибка Oracle: непредвиденная ошибка ORA-00937: нет функции для одной группы

Выполнение из приложения VB6 с использованием Adodb с использованием Provider = MSDAORA.1

Запрос:

Select Max(SNO) as SRNO 
  From Orders 
 Where OrderDate = '30-Jan-2009' 

Ошибка:

Неожиданная ошибка ORA-00937: нет функции для одной группы

Насколько мне известно, эту ошибку следует вызывать только в том случае, если запрос содержит статистическую функцию, а выбранные столбцы отсутствуют в статистической функции, тогда эти столбцы должны быть в предложении Group By.

Теперь в моем запросе не выбран дополнительный столбец.

Более странно:

Если тот же запрос выполняется в Oracle SQL Plus, он работает. Но выдает ошибку выше, если выполняется из VB6. Любые намеки

Я обошел MAX, используя rownum и внутренний запрос.

select SRNO  
  from (Select SNO as SRNO 
          From Orders 
         Where OrderDate = '08/Dec/2009'  
      order by SNO  desc ) 
 where RowNum = 1 

Ответы [ 2 ]

1 голос
/ 08 декабря 2010

Может быть ошибка 1988231, если для CURSOR_SHARING установлено значение FORCE или SIMILAR, что является проблемой с драйверами и базами данных Microsoft до 10.2.0.4.Похоже, совет: установить CURSOR_SHARING в EXACT (я думаю, по умолчанию) или переключиться на использование драйвера Oracle ODBC.

(Сама ошибка закрыта как не-ошибка)проблема Microsoft, а не Oracle), и на нее ссылается идентификатор документа Metalink 462734.1).

0 голосов
/ 29 декабря 2010

это выглядит как ошибка в поставщике ADO, если вы меняете поставщика на OraOLEDB.Oracle - тогда запрос должен работать

...