sql >> Databáze >  >> RDS >> Oracle

Převést bajtové pole z Oracle RAW na System.Guid?

Ukázalo se, že problémem bylo pořadí bajtů, které jste získali v Guid.ToByteArray() a ne samotný Oracle. Pokud použijete průvodce "11223344-5566-7788-9900-aabbccddeeff " a zavolejte ToByteArray() na něm získáte "44332211665588779900AABBCCDDEEFF ". Pokud pak předáte toto pole bajtů zpět do konstruktoru pro Guid, získáte původní Guid. Moje chyba byla, že jsem se pokusil dotazovat databázi Oracle v původním formátu Guid (s odstraněnými pomlčkami) namísto výsledku ToByteArray() zavolejte.

Stále netuším, proč jsou bajty uspořádány tímto způsobem, ale zjevně to nemá nic společného s Oracle.



  1. Laravel výmluvný - Existuje způsob, jak přidat Hint před SELECT?

  2. Jak se dozvíte o zastaralých funkcích v nové verzi Oracle?

  3. Vytváření dotazu, který vrací id, pokud se podmínka shoduje v řádcích ze dvou tabulek

  4. Vyhněte se problému s BigDecimal při migraci na Java 1.4 na Java 1.5+