Oracle
 sql >> Baza danych >  >> RDS >> Oracle

pobieranie długich surowych danych do zmiennej clob

Od czasu Oracle 8.0 (czyli prawie piętnaście lat temu) typy danych LONG i LONG RAW zostały wycofane na rzecz CLOB i BLOB. Głównym powodem tego przełączenia jest to, że naprawdę ciężko pracuje się z kolumnami LONG, co jest podwójne w przypadku LONG RAW.

Jak już odkryłeś, w PL/SQL istnieje limit tego, co możemy zrobić. Ten limit to 32K. Większe kolumny LONG RAW mogą być obsługiwane tylko w C.

Tom Kyte był gospodarzem narzędzia do rozładowywania kolumn Long Raw do płaskiego pliku, który można następnie załadować do nowoczesnych kolumn LOB za pomocą programu ładującego SQL. Wygląda na to, że to narzędzie jest niedostępne (nie ma go na liście plików /~tkyte na jego blogu).

Jednak Fangxin Lou napisał wersję innego narzędzia Toma Kyte, które nazywa się ociuldr i która najwyraźniej obsługuje Long Raw. Możesz pobrać źródło z jego strony internetowej. Dowiedz się więcej .

Uwaga Nie próbowałem ociuldr dla siebie (nie spotkałem się z Long Raw od ostatniego tysiąclecia) i nie ręczę za to w żaden sposób. Ale wydaje się, że jest to jedyne rozwiązanie, jakie obecnie oferuje internet. Sugeruję więc, abyś spróbował, chyba że masz dobre umiejętności OCI i potrafisz napisać własną implementację.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aktualizowanie wyroczni tabel partycjonowanych

  2. Instrukcja Oracle Sql dla unikalnego znacznika czasu dla każdego wiersza

  3. Jak usunąć ukryte podwójne cudzysłowy w wartościach kolumn SQL Developer

  4. Jak utworzyć folder zip w plsql (Oracle)

  5. Zapytanie zawierające sprzężenia zewnętrzne zachowuje się inaczej w Oracle 12c