Przejdź do głównej zawartości

2147221164 (0x80040154): Klasa nie jest zarejestrowana - co robić



W oprogramowaniu 1C, jak w każdym innym, czasami występują błędy. Nie pozwala to na prawidłowe działanie oprogramowania i może spowolnić pracę całej organizacji. Dlatego musisz wiedzieć, jak radzić sobie z różnymi awariami. W szczególności, dzisiaj przeanalizujemy, co spowodowało błąd "2147221164 (0x80040154): Klasa nie jest zarejestrowana" i co należy zrobić, aby to naprawić.

Сообщение об ошибке на экране
Błąd "2147221164 (0x80040154): Klasa nie jest zarejestrowana"



Treść artykułu:

Gdy pojawi się błąd 2147221164

Błąd "2147221164 (0x80040154): Class is not registered" pojawia się z powodu konfliktu wersji 1C, które obecnie nawiązują ze sobą połączenie. Przeanalizujemy bardziej szczegółowo. Informacja DB 1C wymienia dane za pomocą połączenia COM. A jeśli na przykład platforma 1C: Enterprise konfiguracji 8.3 próbuje ustanowić komunikację z wersją 1C 8.1, to na tym etapie, podczas próby połączenia z serwerem COM, pojawia się ten błąd.

Najpierw ustalmy, że serwer 1C ma kilka wersji:

  1. 32-bitowy 8,1 (x86).
  2. 64-bitowe 8,2 i 8,3 (x 64).

Problemy pojawiają się na serwerze z bazą danych. Przyczyną problemu jest to, że wersje x 64 architektury 1C nie mają bezpośredniego dostępu do 32-bitowej biblioteki comcntr.dll. W tym przypadku połączenie jest nawiązywane za pomocą aplikacji COM +, które mogą wchodzić w interakcję z bibliotekami x86.



Zobacz także: Niepoprawny format przechowywania danych 1C 8.3 jak to naprawić .

Radzenie sobie z problemem

Kończymy teorię i przystępujemy do ćwiczenia - próbujemy poprawić błąd "2147221164 (0x80040154): Klasa nie jest zarejestrowana".

Rejestrowanie biblioteki comcntr.dll

Błąd może wystąpić, jeśli biblioteka comcntr.dll nie jest zarejestrowana. Rozwiązujemy to w następujący sposób. Wywołaj linię "Uruchom" (klikając przycisk Start na PCM) i wpisz regsvr32.exe "C: \ Program Files (86) \ 1cv82 \ 8.3.XX.XXXX \ bin \ comcntr.dll". Kliknij OK, a jeśli wszystko pójdzie dobrze, zobaczysz komunikat o pomyślnej rejestracji biblioteki.



Utwórz nową aplikację COM +

Jeśli biblioteka jest zarejestrowana, ale problem nadal występuje, kliknij przycisk Start (w systemie Windows 10) i wywołaj panel sterowania. Następnie wchodzimy do sekcji "System i bezpieczeństwo", po czym przechodzimy do "Administracji". Pojawi się okno, w którym wyszukujemy wiersz "Usługi składowe" i otwieramy je podwójnym kliknięciem LMB. W nowej konsoli kliknij dwukrotnie folder "Komputer", a następnie "Mój komputer". Lista folderów pojawia się przed nami. «Приложение». PKM kliknij "Aplikacje COM +" i wybierz "Utwórz" "Aplikacja".

Консоль "Службы компонентов"
Utwórz nową aplikację COM +

Następnie wykonaj następujące czynności.

  1. W kreatorze, który się otworzy, kliknij "Dalej", a gdy w następnym oknie otrzymasz możliwość wyboru, kliknij "Utwórz nową aplikację".
  2. W odpowiedniej linii przypisujemy nazwę do nowej aplikacji, która będzie zrozumiała nie tylko przez nas, ale także przez innych użytkowników podczas dalszej pracy, na przykład 1CV8_ComConnect. Tutaj wybieramy metodę aktywacji - "Aplikacja serwera".

    Выбираем способ активации 1CV8_ComConnect
    Wprowadź nazwę nowej aplikacji 1CV8_ComConnect
  3. Teraz przeprowadzamy procedurę certyfikacji. W polu "Określony użytkownik" za pomocą funkcji "Przeglądaj" szukamy konta, pod którym uruchomimy serwer 1C w wersji 8.3. (Na przykład, oznaczamy to jako User1CV83).
    Удостоверяем приложение
    Poszukujemy użytkownika za pomocą funkcji Review

    Окно выбора учетной записи, под которой будет запускаться сервер
    Kroki użytkownika
  4. Pomijamy procedury oferowane w poniższych oknach i klikamy przycisk "Zakończ". Mistrz się zamyka.
  5. Wracamy do okna "Usługi składowe" i otwieramy gałąź naszej nowo utworzonej aplikacji. Rozwiń węzeł "Role", w którym klikamy element CreatorOwner. PCM kliknij na "Użytkownicy" i stwórz nowego użytkownika. Ponownie wybierz konto, pod którym zostanie uruchomiony serwer 1C (jest to ten sam User1CV83, o którym była mowa powyżej).
  6. Przejdź do gałęzi aplikacji 1CV8_ComConnect i kliknij RMB na węźle "Komponenty". Utwórz nowy komponent.
  7. W otwartym kreatorze zaznacz element "Instalowanie nowych komponentów" i, gdy pojawi się poniższe okno, określ bibliotekę dll, której potrzebujemy (znajduje się ona na ścieżce C: \ Program Files (x86) \ 1cv81 \ bin \). Kończymy pracę Mistrza.
  8. Mamy komponent 1CV81.ComConnect.1. Klikamy na nią PKM i otwieramy element "Właściwości". W zakładce "Bezpieczeństwo" znajduje się lista "Ról jawnie ustawionych dla wybranych obiektów" i zaznacz pole naprzeciwko KreatoraOwner.

Może ci się przydać: Wykryto naruszenie integralności systemu w 1C, co robić .

Sprawdziliśmy połączenie z bazą danych z poziomu programu 1C: Enterprise wersja 8.3. Jeśli planujesz nawiązać połączenie z bazą danych 8.1 z wersji 1C 8.2, musisz dodać nowego użytkownika. Роли → CreatorOwner Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.2. Przejdź do ścieżki 1CV8_ComConnect Role CreatorOwner Użytkownicy i dodaj nowe konto User1CV82, pod którym zostanie uruchomiony serwer 1C wersja 8.2.

Jeśli spokojnie i ostrożnie podążysz za algorytmem, korekta błędu będzie rzeczywiście prosta i szybka. W związku z powyższymi działaniami, program 1C wersje 8.2 i 8.3 będzie mógł ubiegać się o informacje do biblioteki comcntr.dll, a błąd "2147221164 (0x80040154): Class is not registered" nie będzie już występować.



Jak oceniasz artykuł?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Brak ocen jeszcze)
Ładowanie ...

Dodaj komentarz

Twój e-mail nie zostanie opublikowany.