sql >> Databasteknik >  >> RDS >> Oracle

hämta långa rådata till clob-variabel

Datatyperna LONG och LONG RAW har fasats ut till förmån för CLOB och BLOB sedan Oracle 8.0 (dvs. för nästan femton år sedan). Den främsta anledningen till denna växling är att LONG kolumner är väldigt svåra att arbeta med, och det är dubbelt för LONG RAW.

Som du redan har upptäckt finns det en gräns för vad vi kan göra i PL/SQL. Den gränsen är 32K. Större LONG RAW-kolumner kan endast hanteras i C.

Tom Kyte brukade vara värd för ett verktyg för att ladda ner Long Raw-kolumner till en platt fil, som sedan kunde laddas till moderna LOB-kolumner via SQL Loader. Det här verktyget verkar inte vara tillgängligt (det finns inte på listan över /~tkyte-filer på hans blogg).

Fangxin Lou har dock skrivit en version av ett annat Tom Kyte-verktyg, som han heter ociuldr och som tydligen hanterar Long Raw. Du kan ladda ner källan från hans webbplats. Ta reda på mer .

OBS Jag har inte provat ociuldr för mig själv (jag har inte stött på en Long Raw sedan förra årtusendet), och jag garanterar det inte på något sätt. Men det verkar vara den enda lösningen som internet erbjuder just nu. Så jag föreslår att du provar det, såvida du inte har goda OCI-kunskaper och kan skriva din egen implementering.




  1. Unix-socket-anslutning till MySql med Java för att undvika JDBC:s TCP/IP-overhead?

  2. Flera MYSQLi förberedda uttalanden

  3. använder pivotfunktionen i mysql för att göra en tabell apriori

  4. Mysql-fråga för att dynamiskt konvertera rader till kolumner på basis av två kolumner