/ / Typ danych Oracle dla pliku tekstowego? - sql, baza danych, wyrocznia, projektowanie baz danych, typy

Typ danych Oracle dla pliku tekstowego? - sql, database, oracle, database-design, types

Muszę utworzyć tabelę w Oracle, która będzie przechowywać serię dużych plików tekstowych. Po przyjrzeniu się typom danych Oracle nie jest jasne, jakiego typu powinienem użyć do przechowywania plików.

Ograniczenia typów tekstowych, takich jak VARCHAR2, wydają się bardzo małe (32 KB). Inne typy wydają się nie pasować do pliku tekstowego (np. BFILE).

Czy ktoś ma opinię na temat odpowiedniego typu?

Odpowiedzi:

9 dla odpowiedzi № 1

Różnica między CLOB a BLOB / BFILE jestCLOBy są traktowane jak tekst. Oznacza to, że jeśli wyciągniesz CLOB z bazy danych, przeprowadzi on niezbędną konwersję z zestawu znaków bazy danych do zestawu znaków klienta (np. Usunie akcent z ê). Podobnie, gdy CLOB jest tworzony przez klienta, może nastąpić konwersja z zestawu znaków klienta na zestaw znaków bazy danych. Jeśli zarówno zestaw znaków klienta, jak i bazy danych są takie same, konwersja nie jest wymagana ani przeprowadzana.

NCLOB jest podobny do CLOB poza tym, że zamiast zestawu znaków bazy danych, konwersja wykorzystuje zestaw znaków NLS NCHAR.

BLOB / BFILE nie będzie podlegał zasadom konwersji.

Więc OGÓLNIE użyłbym CLOB dla tekstu, ale jeśliistnieje pewna logika sumy kontrolnej / audytu, w której nie chcę nawet najmniejszej możliwości konwersji zestawu znaków, mógłbym wybrać BLOB / BFILE. Nie rozważałbym DŁUGIEJ lub DŁUGIEJ SUROWEJ.


1 dla odpowiedzi nr 2

Zależy, jakiej wersji Oracle używasz CLOB lub Long


1 dla odpowiedzi nr 3

Typami danych LOB dla danych znakowych są CLOB i NCLOB. Mogą przechowywać do 8 terabajtów danych znakowych (CLOB) lub danych krajowego zestawu znaków (NCLOB).

Później Oracle zaleca konwersję istniejącychKolumny LONG RAW do kolumn LOB. Kolumny LOB podlegają znacznie mniejszym ograniczeniom niż kolumny LONG. Co więcej, funkcjonalność LOB jest ulepszana w każdym wydaniu, podczas gdy funkcjonalność LONG RAW jest stała dla kilku wydań.