Oracle
 sql >> Database >  >> RDS >> Oracle

Converti array di byte da Oracle RAW a System.Guid?

Si scopre che il problema era l'ordine dei byte che ottieni in Guid.ToByteArray() e non Oracle stesso. Se prendi il Guid "11223344-5566-7788-9900-aabbccddeeff " e chiama ToByteArray() su di esso, ottieni "44332211665588779900AABBCCDDEEFF ". Se poi si passa nuovamente quell'array di byte al costruttore per Guid, si ottiene il Guid originale. Il mio errore è stato tentare di interrogare il database Oracle con il formato Guid originale (con i trattini rimossi) invece del risultato del ToByteArray() chiama.

Non ho ancora idea del perché i byte siano ordinati in questo modo, ma a quanto pare non ha nulla a che fare con Oracle.