Table of Contents
W niektórych przypadkach Twój ulubiony system może zwrócić kod błędu wskazujący na jakikolwiek błąd sieciowy podczas odczytu danych klienta. Przyczyn tego problemu może być kilka.
Zaktualizowano
Czy to nie jest odpowiedź na zadanie kopania? Inne pytania związane z C# Firebird lub zadaj własne pytanie.
Problem jest prawdopodobnie zawsze stosunkowo prosty: połączenie sieciowe między wsparciem a serwerem jest przerywane lub przerywane w celu znalezienia przyczyny, ale Stan
jest naszym własnym połączeniem klienta. Podpowiedź pozostaje < code> Otwórz – to samo, ale z pewnością nie możesz dłużej korzystać z tego połączenia. Niestety, Firebird zdecydował się nie aktualizować tej historii automatycznie do Broken
, co ma o wiele więcej sensu, jeśli ktoś mnie poruszy.
Jak naprawić błąd odczytu danych z jakiegoś połączenia?
Niestety coraz częściej odrzucane jest wyłączenie “błąd odczytu danych z połączenia”, a ludzie nie wiedzą jak to naprawić. Próbowaliśmy wyłączyć scalanie, ale nie przyniosło to teraz pożądanego efektu. Napisaliśmy również główny blok try-catch, który ponownie łączy się i wykonuje SQL, ale nie wydaje nam się to właściwym rozwiązaniem.
Już wiesz, że przynależność do Internetu „coś naprawia” i omawialiśmy to głównie za każdym razem, gdy FbException.ErrorCode
to 335544726, ty mogą go śledzić.
Niestety oznacza to, że każda otwarta transakcja publiczna również jest stracona i można absolutnie dłużej przenosić z niej dowolne dokumenty. Najlepszym sposobem na niezawodne wyjście z tego stanu jest zgłoszenie konkretnego wyjątku:
Wypróbuj
//...złapać (FbException ex) jeśli (np. ErrorCode == 335544726) // zamknij to konkretne zależne połączenie (otwórz ponownie w swojej aplikacji) Śmieci;
Dzięki temu musisz przechwycić ten wyjątek w wyższym aspekcie aplikacji lub obsłużyć go w tym miejscu, na przykład ponowić całą transakcję lub pozwolić użytkownikowi wybrać słowo, które bezpośrednio ma zrobić.
odpowiedział 7 czerwca ’18 o 7:26
24,8k
Dołączam aplikację czasu rzeczywistego z ważnym interbase.1 z zaplecza, Delphi
4.x na konkretnym froncie. Linki SQL są używane w TCP/IP, TDatabase i TQuery. Ponadto używam TIBEventAlterter tylko z jednym certyfikowanym wydarzeniem przez całą drogę
Interbase. Gdybym powiedział, że serwer pocztowy ma inne informacje, prawdziwa aplikacja kliencka człowieka zaktualizuje go za pomocą podstawowego żądania. To naprawdę prosta aplikacja.
Jaki jest poprawny sposób odczytu ze strumienia sieciowego w?
Jednak czasami robią wiele rzeczy, o których musisz wiedzieć: jakiej „porządku bajtów” naprawdę używasz do wymiany danych (Intel x86 lub x64 jest zdecydowanie oparty na kolejności big endian) systemy big endian zawsze mogą przeczytaj krytyczne informacje. że istnieje wiele bajtów big endian (i odwrotnie), ale muszą zmienić kolejność wszystkich danych.
Podczas kompilacji w D5 i instalacji BDE 5.10 na serwerze i stacji roboczej
zostanie wyświetlony typowy komunikat „błąd odczytu danych logowania”. Po sprawdzeniu w SQL Monitorze ustaliłem, że dzieje się tak zawsze, gdy dane są prawdopodobnie pobierane z Internetu (po żądaniu) w kliencie z wywołań isc_ API.
Zaktualizowano
Czy masz dość powolnego działania komputera? Denerwują Cię frustrujące komunikaty o błędach? ASR Pro to rozwiązanie dla Ciebie! Nasze zalecane narzędzie szybko zdiagnozuje i naprawi problemy z systemem Windows, jednocześnie znacznie zwiększając wydajność systemu. Więc nie czekaj dłużej, pobierz ASR Pro już dziś!
Próbowałem przekonwertować wszystkie komponenty TQuery, TDatabase i TIBEventAlerter na komponenty IBExpress, po czym wystąpił ten sam błąd.
Dość,
Co dziwne,
problem nie występuje podczas korzystania z określonego oprogramowania klienckiego na serwerze.
Czy to PDA czy Delphi? Jeśli praktycznie każdy ma zalecane obejście, byłbym wdzięczny za indywidualną pomoc.
Przyspiesz swój komputer już dziś dzięki temu prostemu pobieraniu.Network Error While Reading Client Data? Repair Immediately
Nätverksfel Vid Läsning Av Klientdata? Reparera Omedelbart
Ошибка сети при чтении данных клиента? Немедленно отремонтируйте
Netwerkfout Tijdens Het Lezen Van Klantgegevens? Onmiddellijk Repareren
Erreur Réseau Lors De La Lecture Des Données Client ? Réparer Immédiatement
Netzwerkfehler Beim Lesen Von Clientdaten? Sofort Reparieren
Errore Di Rete Durante La Lettura Dei Dati Del Client? Riparare Immediatamente
¿Error De Red Al Leer Los Datos Del Cliente? Reparar Inmediatamente
클라이언트 데이터를 읽는 동안 네트워크 오류가 발생했습니까? 즉시 수리
Erro De Rede Ao Ler Os Dados Do Cliente? Repare Imediatamente