2011. december 16., péntek

ORA-00932: ellentmondásos adattípusok: - helyett NCLOB szerepel

A címben leírt hibaüzenetet produkáló környezet tömören:

  • IIS7
  • Oracle 11g
  • Entity Framework - Oracle provider Beta

A hibaüzenet nem mond sokat. Az történt, hogy a fejlesztői környezetben minden faszán ment, a teszt környezetben ügyfélnél jött elő ez. Alkalmazás elindulásakor, amikor böngészőben lehívunk egy oldalt (Unity resolution failed exception).
Filóztunk, hogy mi lehet más ott mint itt. Az ottani séma db scriptjéből a fejlesztőin létrehoztam egy újat, hogy lássuk séma eltérés van-e.
Nem. Itt elindult minden.
Karakterkódolás volt a következő tipp, mert amúgy minden stimmelt.
Nem az a para.
Hosszas olvasgatás után kiderült, hogy akkor dob ilyen hibát, amikor nullt kap az EF beta provider egy olyan select-nél paraméterül, amit ellenőrizve a where-ben a mező nem lehet null.
Aztán tipp volt, hogy a usert nem tudja feloldani, és az authentikáció és belépés során itt szállhat el.
Beigazolódott, az IIS-ben elmaradt az anonymus authentikáció tiltása, és null-t küldött a user nevet paraméterül megkapó sql-ben.

Feladat megoldva, de az oracle és a Beta EF provider elmehet a @@@@@ba, hogy ilyen hibaüzenetet dob.

Nincsenek megjegyzések:

Megjegyzés küldése