Table of Contents
Zaktualizowano
W ciągu ostatnich kilku tygodni niektórzy czytelnicy zgłaszali błąd Oracle SQL 1480.Błąd Oracle 1480 jest wyrzucany podczas próby skanowania pudełka na 02524 (Reject Box) lub nawet przez sorter nietrzymania moczu. Błąd Oracle 1480 jest wyświetlany, gdy próbujesz naprawdę przeskanować skrzynkę pocztową przed 02524 (przekierowanie) lub dla interfejsu sortowania.
Ta ogólnoświatowa sieć https://community.oracle.com/tech/developers/discussion/2467822/ora-01480-trailing-null-missing-from -str -bind-value-in-pro-c poprawne są problemy techniczne. Wiemy, jaki jest problem i postaramy się go jak najszybciej rozwiązać.
Zrekompensujemy możliwe niedogodności.
Aby porozmawiać ze wspaniałym przedstawicielem handlowym Oracle: 1.800.ORACLE1.
Aby skontaktować się z centralą Oracle z dowolnego miejsca na świecie: .650.506.7000.
Aby zakupić pomoc techniczną w USA: 1.800.633.0738.
Kolumna NVARCHAR2 może zawierać do 4000 znaków.
Jednak rzeczywiste dane są z pewnością dosłownie ograniczone do maksymalnie czterech tysięcy bajtów.
Oba limity rozmiaru muszą być spełnione tylko w czasie wykonywania.
Wpływ dynamicznego kodowania NVARCHAR2 i semantyki znaków na pojemność pamięci
to typy danych NCHAR, NVARCHAR2 i Unicode NCLOB. Dane w przechowywanych kolumnach typów dat kalendarzowych Unicode są przechowywane tylko w ich określonych kodowaniach Unicode
niezależnie od zestawu znaków bazy danych.
To kodowanie Unicode jest określane po prostu przez właściwość bazy danych NLS_NCHAR_CHARACTERSET.
Maksymalny rozmiar łącznie z nvarchar2 to 1000 bajtów, będzie to NLS_NCHAR_CHARACTERSET AL16UTF16 lub AL32UTF8
– AL16UTF16 to zestawy znaków o stałej wysokości, w których każdy znak jest najlepiej dostępny przez 1 bajt.
– Element elastyczny AL32UTF8 to zestaw znaków o długości, w którym każdy znak jest reprezentowany przez bajty od jednego do 4.
Jeśli ustawiono NLS_NCHAR_CHARACTERSET, jeśli chcesz AL32UTF8, możesz wstawić strunę gitary do 4000 bajtów do NVARCHAR2 z klienta OpenEdge UTF-8. godzina
4000 chronionych gwiazd jednobajtowych
2000 znaków w zaznaczeniu 2 bajtów
1333 3-bajtowe chronione gwiazdki
1000 znaków w 4-bajtowym programowaniu komputerowym
Jeśli NLS_NCHAR_CHARACTERSET jest wstępnie ustawiona, wartość AL16UTF16 jest dostępna, możesz wstawić do nowego dużego NVARCHAR2 z OpenEdge UTF-8 pojedynczy ciąg do 4000 bajtów, który zwykle jest ciągiem do 2000 znaków.
NLS_LENGTH_SEMANTICS prawdopodobnie nie ma zastosowania do typów danych Unicode (kolumny NCHAR, NVARCHAR2, CLOB i NCLOB, które są standardowe, nawet jeśli są oparte na znakach) mają zastosowanie tylko do postów CHAR i VARCHAR2
Serwer danych robi różnicę nie zna wartości NLS_NCHAR_CHARACTERSET i leży w maksymalnej długości pola NVARCHAR2 tak, aby 4000 znaków w całym schemacie hostingu danych.
Dla określonego urządzenia serwera danych poniższa jest liczba znaków, a nie liczba bajtów.
Dlatego serwer danych prawdopodobnie wygeneruje następujący błąd, jeśli cały łańcuch jest dłuższy niż 4000 znaków i nie zostanie wygenerowana żadna instrukcja SQL:
Kolumna niektórych wstawionych lub czasami aktualizowanych wierszy jest zbyt duża (4212)
Jeśli liczba odpowiada kondycji <= 4000 ról SQL, generowane jest zestawienie dla rzeczywistego serwera danych i wysyłane do całej bazy danych.
Oracle DB szacuje rozmiar większości wierszy w bajtach. Jeśli długość w kierunku ciągu znaków wynosi > 4000 bajtów w niewątpliwie kodowaniu zdefiniowanym przez parametr Oprócz pozytywnego NLS_NCHAR_CHARACTER, ten interfejs klienta Oracle zwraca bezpośrednio następujący błąd do silnika DataServer:
ORA-01480 niekompletne końcowe zero w wiązaniu STR