Az SQL mint szabvány? Hahaha!
Az SQL mint szabvány? Hahaha!
NHibernate Designer -e szerettem volna az eddig MSSQL -en és MySQL -en jól működő táblákat Oracle adatbázisba átvarázsolni. Én butus! Azt hittem, hogy ez egy kattintással megoldható! De nem! Az Oracle nem tudta értelmezni az Int64 típust (ami MSSQL és MySQL alatt is
bigint). Nosza, utána olvastam, és az Oracle csak az UInt64 -et tudja igazából megemészteni. Sebaj, nekiálltam, és a teljes modellt átalakítottam UInt64 -re. Emiatt a kódokat is át kellett írnom, no problem!
Elkészültem vele, befuttattam Oracle -be. De bizony egy csomó mező elnevezés nem tetszett neki (amit MSSQL és MySQL is simán benyelt!). Újabb órás munka, hogy a mezőket átnevezzem, átneveztem a Custom osztályokban is, és még az XML leírókban is.
Befuttattam MSSQL alá a módosítást, de bizony nem sikerült! Az MSSQL nem csipázza az UInt64 -et! No problem, az NHibernate konfigurációját kicsit megpiszkálva, azt mondtam, hogy az tulajdonképpen Int64.
Ezzel meg is lettünk volna, de mégsem! Merthogy így se volt hajlandó kezelni, mert nem tudta kigenerálni az NHibernate Designer a táblamódosításokat!
Platty! Újabb 3 óra utána olvasás, míg végül megállapodtam abban, hogy az Int32 típust mindegyik DB ismeri, és mindegyik meg tudja emészteni.
Most ott tartok, hogy a kódokat újra át kell írni, de cirkulált tábla referencia miatt az NHibernate Designer nem tudja kigenerálni új adatbázisba a táblákat!
Áááááááá!!! Milyen jó is az, hogy az SQL szabványos, és nem kell gondolkozni, ha egy táblát vagy egy lekérdezést más adatbázis kezelőben szeretnék megvalósítani! 😀