papo we(b)log

software engineering slave!
posts - 29, comments - 49, trackbacks - 26

NHibernate, MySQL .NET Connector e Nullable DateTime

solo un post veloce per mostrare una soluzione ad un problema che mi ha visto impegnato questo pomeriggio.
è il caso dell'utilizzo di un DB MySQL via NHibernate, usando il Connector fornito dalla stessa MySQL.

ho avuto problemi con tables in cui compaiono campi datetime, per la nota incompatibilità tra .NET e MySQL. sul sito NHB stesso, alla descrizione del supporto per questo DBMS si avvisa dei possibili problemi dovuti alla "unique feauture" di usare come NULL il valore 0000-00-00 etc. etc.

quello che non mi piaceva erano le soluzioni proposte, visto che per la prima (evitare date nulle) non potevo farci nula non avendo possibilità di cambiare lo schema dati, per le altre due si trattava di ricompilare qualche parte dell'ambiente di persistenza (il Connector o introdurre un tipo utente).
dopo un bel po' di ricerche sono giunto a questa soluzione, che per me lavora bene: nella documentazione del Connector infatti è segnalata la feature che permette di gestire come nulle le date del tipo 0000-00-00 e quelle mal formattate (in sostanza, la seconda soluzione, ma fatta dagli sviluppatori di MySQL!), solo che non è segnalato che bisogna attivarla aggiungendo nella stringa di connessione l'opzione:
Convert Zero Datetime=true
che invece è documentata qui:

ps: scusate la grafica poco accattivante, ma dati i 2 minuti a disposizione ho optato per HTML a mano!
ciao
-papo-

Print | posted on martedì 5 dicembre 2006 18:14 | Filed Under [ .NET ]

Powered by:
Powered By Subtext Powered By ASP.NET