Wpis z mikrobloga

Mirki, mam taki problem.
Próbuję stworzyć kwerendę przekazującą w MS Access i wrzucić do niej zapytanie SQL, połączenie przez ODBC do bazy Oracle.

Zapytanie działa w narzędziach Oracle (SQL Developer), ale podczas komunikacji via ODBC jest problem.

Moje zapytanie zawiera konstrukcję CASE (...) END. Słówko END jest mylnie interpretowane przez sterownik ODBC (albo jakąś inną część tego mechanizmu) na jakimś metapoziomie jako koniec jakiejś metainstrukcji i wywala błąd.

Jakiś pomysł jak to obejść?

#access #bazydanych #oracle #office
  • 7
@blinkin: Luknij tu. MS Access nie obsługuje wyrażenia CASE, z poziomu SQL Developera CASE działa bo zapytanie uruchamiane jest w silniku oracle więc interpreter wie, że taka konstrukcja jest dozwolona. Możesz spróbować funkcji switch jeśli spełni wymagania w kontekście zapytania lub IIF() ale switch jest bardziej elastyczny jeśli chodzi o większą liczbę warunków. Funkcje dostępne w MS Access SQL.
@Supaplex: @Esharell: Dzięki za pomoc, znalazłem rozwiązanie.
Sterownik ODBC Oracle nie pozwala na wstawienie średnika jeśli w treści zapytania pojawia się słowo END. Usunąłem średnik i działa ( ͡ ͜ʖ ͡)