Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle JDBC набор от знаци и ограничение от 4000 знака

Преди Oracle 12.1, VARCHAR2 колоната е ограничена до съхраняване на 4000 байта данни в набора от символи на базата данни, дори ако е декларирана VARCHAR2(4000 CHAR) . Тъй като всеки знак във вашия низ изисква 2 байта място за съхранение в набора от символи UTF-8, няма да можете да съхранявате повече от 2000 знака в колоната. Разбира се, това число ще се промени, ако някои от вашите знаци действително изискват само 1 байт памет или ако някои от тях изискват повече от 2 байта памет. Когато наборът от символи на базата данни е Windows-1252, всеки знак във вашия низ изисква само един байт място за съхранение, така че ще можете да съхранявате 4000 знака в колоната.

Тъй като имате по-дълги низове, възможно ли е да декларирате колоната като CLOB вместо като VARCHAR2 ? Това (ефективно) ще премахне ограничението за дължина (има ограничение за размера на CLOB това зависи от версията на Oracle и размера на блока, но е поне в диапазона от няколко GB).

Ако случайно използвате Oracle 12.1 или по-нова версия, max_string_size параметър ви позволява да увеличите максималния размер на VARCHAR2 колона от 4000 байта до 32767 байта .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да извикам SELECT през DBLINK през DBLINK?

  2. Ограничете заявката за изтриване с хибернация

  3. Trunc поле за дата в mysql като Oracle

  4. Използване на Babel в производството - Как да компилираме предварително скриптове

  5. Използвайте база данни на Oracle с удостоверяване на формуляри в MVC3 приложение