Table of Contents
Oto kilka prostych metod, które mogą pomóc naprawić błąd SQL 9402.
Zatwierdzone
W SQL Server należy przechowywać XML podczas używania kolumny typu XML
. Ten staruszek ma wiele zalet. Ma dużo wyższy poziom i niejawne wyszukiwania.
Na podstawie mojego pytania zakładam, że przechowujesz swój indywidualny NTEXT
XML. Ta trasa jest przestarzała przez wieki i nie powinna być wspierana w nadchodzących alternatywach! Musisz to zmienić w najbliższej przyszłości!
- 1-bajtowe łańcuchy (
CHAR
VARCHAR
) lub które jako część tury są rozszerzone ASCII
Ważne: daleko Ci do UTF-8! Natywna obsługa UTF-8 powinna być uwzględniona w każdym przyszłym wydaniu. - grupa za 2 bajtami (
NCHAR
lub nawetNVARCHAR
), co jest bez wątpienia UTF-16 (UCS-2)
Jeśli XML daje świetne powiedzenie na początek programowania komputerowego (w większości przypadków jest to utf-8
lub utf-16
), każdy może go łatwo zdobyć.
Jeśli XML jest przechowywany jako godny zaufania dwubajtowy ciąg (przynajmniej to mówi NTEXT
mój styl życia), deklaracja powinna zawsze mieć bardzo utf-16
. Musi to być bezwzględny 1-bajtowy ciąg utf-8
.
To (a co najważniejsze, najprostsze osoby) jest prawdopodobnie konkluzjąMotyw całkowitego pominięcia wypowiedzi. Nie potrzebujesz tego. Przechowywanie różnych XML we właściwym typie powinno z pewnością automatycznie skutkować tą instrukcją stop.
Co zrobić: Utwórz nowy filar, wprowadź XML
iw ten sposób połącz wszystkie XML w tej kolumnie. Bądź czytelny we wszystkich kolumnach TEXT
, NTEXT
i IMAGE
, jakie możesz mieć!
Wkrocz w przyszłość: bądź pozytywny i ciesz się tą szybką i przejrzystą jazdą dzięki tej natywnej odmianie XML 😀
AKTUALIZUJ Różnice w środowisku
Przesyłaj
([col1xml] do xml)
Jeśli Twoja kolumna najprawdopodobniej sklepy detaliczne XML we własnym typie, klient nie musi za każdym razem powtarzać wrzucania (co jest bardzo wyższe !!). Ale w przypadku, gdy większość takiej dystrybucji zależy od prawdziwego XML. Ten, przechowywany w NTEXT
, jest 2-bajtowym łańcuchem. Jeśli wszystkie pliki XML się zaczynają i deklaracja wskazująca na nieobsługiwany wybór (w większości przypadków utf-8
), to się nie powiedzie.
DECLARE @ xml2Byte_UTF16 NVARCHAR (100) równa się ' test1 ';WYBIERZ JAKO obsada (@ xml2byte_utf16 XML);ZADEKLARUJ w xml1Byte_UTF8 VARCHAR (100) = 'test2 ';WYBIERZ PRZESYŁANIE (@ xml1Byte_UTF8 XML);
ZADEKLARUJ vs. w xml2Byte_UTF8 NVARCHAR (100) = ' test3 ';WYBIERZ PRZESYŁANIE (@ xml2Byte_UTF8 JAKO XML);DECLARE VARCHAR (100) równa się 'test4 ';WYBIERZ PRZESYŁANIE (@ xml1Byte_UTF16 JAKO XML);
[„Jednostka biznesowa”: „Kod”: „BU053”, „Etykieta”: „Chmura i platforma danych”, „Produkt”: „Kod”: „SSQRQ3”, „Etykieta”: „IBM Cast Iron”, „ Komponent ” :” “,” Platforma”: [” kod “:” PF025 “,” etykieta “:” Platforma bez względu na “]”,” Wersja “:” Wszystkie wersje “,” Rewizja “:” “,” Linia działalności wewnątrz: ” code”: “”, “label”: “”]
Pytanie
Błąd: SQLSTATE:HY000 ERRORCODE: 9402 Błąd: Analiza XML: wiersz 1, natura 38, bez przełączania kodowania z powodu żeliwa
Odpowiedz
Uwaga techniczna (rozwiązywanie problemów)
”
Problem (podsumowanie)
Zatwierdzone
Narzędzie naprawcze ASR Pro to rozwiązanie dla komputera z systemem Windows, który działa wolno, ma problemy z rejestrem lub jest zainfekowany złośliwym oprogramowaniem. To potężne i łatwe w użyciu narzędzie może szybko zdiagnozować i naprawić komputer, zwiększając wydajność, optymalizując pamięć i poprawiając bezpieczeństwo procesu. Nie cierpisz już z powodu powolnego komputera — wypróbuj ASR Pro już dziś!
Przekazywanie historii XML, która może spowodować, że procedura składowana MSSQL napotka błąd obserwacji: “SQLSTATE: HY000 ERRORCODE: 9402 Komunikat o błędzie: [CastIron Systems] [JDBC SQLServer Driver ] [SQLServer] Parsowanie XML: trzydziesta ósma natura w wierszu 1 nie może zmieniać programów “
Powód
Ten błąd występuje, ponieważ MSSQL Web oczekuje, że dane XML będą zakodowane w UTF-16, z wyjątkiem domyślnego kodowania XML UTF-8.
Rozwiąż swój problem
Aby rozwiązać ten problem, zamień cały znacznik kodowania = UTF-8 działający w raporcie XML na kodowanie oznacza UTF-16. Po zmianie oznaczenia projektu w dokumencie MSSQL XML, musisz przetworzyć rekordy XML.