Налаштування обладнання та програмного забезпечення

1с підприємство помилка server addr. Сервер баз даних не виявленийFATAL: database "NAME" does not exist

  • Д-р Кадді: Потрібен діагноз Жінка, 26 років, вибух газу під будівлею, її витягли з-під уламків через 6 годин. Дві операції через численні переломи та опіки.
    Д-р Хаус: Думаю, зламані кістки це наслідок будівлі, що обрушувалася їй на голову
  • Д-р Хаус: Уявіть, що дах комори обрушився на вашу улюблену машину для підлоги. І та починає перегріватися.
    Прибиральник: Чому я повинен любити машину для підлоги? Гаразд… Може, від удару пошкодилося щось у електропроводці. Або щось затекло всередину і зіпсувало її.
    Д-р Хаус: Хм цікаво. Проникнення інфекції через рвані рани. Бактерії відреагували б на антибіотики. Можливо, паразити або грибки.
    Прибиральник:Або вовчак
    Хаус здивовано обертається
    Прибиральник: У моєї бабусі вовчак
    Д-р Хаус:(здивовано)Добре, ауто-імунна. Перевірю на вовчак. Хоча найбільше підходить інфекція. Добре було б ще її карту. Приступимо до найгіршої частини роботи. До спілкування з сім'єю підлогомийної машини.
  • Д-р Хаус: У картці зазначено, що вона була хвора ще до того, як будівля обрушилася
    Чоловік пацієнтки: Я вважаю, що це звичайна застуда А що, ви вважаєте, це пов'язано?
    Д-р Хаус: Її хвороба з її хворобою? Часом трапляється.
  • Мати пацієнтки: У щоденнику сказано, що моя дочка приймає ці таблетки?
    Д-р Хаус: Ні, але з медичної точки зору.
    Д-р Кадді: Ви знайшли таблетки у її будинку?
    Д-р Хаус: Очевидно, вона ховала їх у сумочці Подумав, непристойно шукатиме під 1000 тонн уламків.
  • Хірург: У неї всюди кровотечі, хіба що аборт зробили за допомогою дробовика

У цій статті показано приклад загальних принципів аналізу технологічних питань, які можуть виникати при роботі з 1С:Підприємство 8.1.

Давати поради люблять усі, але коли доходить до справи, у всіх різко знаходяться важливіші справи:))). Напевно, буде чесним відразу попередити, що цей матеріал написаний мною швидше як інформація для роздумів, а не теорія вирішення особистих проблем та неприємних ситуацій по роботі. Проте мені здається, наведені тут приклади з моєї практики можуть стати в нагоді при розборі аналогічних проблем.

Як приклади будуть розібрані:

Приклад 1. Користувач поскаржився на неможливість запуску 1С Бухгалтерія.

Текст повідомлення:

"Помилка з'єднання з сервером 1с: Підприємства 8.1:
server_addr=App1С:1540=Помилка мережного доступудо сервера
(Windows sockets – 10061(0x0000274D)
No connection could be made because the target machine actively refused it) line =567

Приклад 2. "Втратився" доступ до інформаційної бази.

Текст повідомлення:

Помилка під час операції з інформаційною базою

Microsoft OLE DB provider for SQL Server: Login failed for user 'user1c'

H RESULT=80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1

Приклад 3. Дивна "невідома" помилка.

Текст повідомлення: «Відбулася невідома помилкана сервері 1С підприємство (80010108)»

1. Визначення тексту (прояву) помилки та локалізація джерела виникнення

  • Зафіксуйте помилку (текст та/або іншу інформацію, яка може стати в нагоді для аналізу проблеми). Проблему краще фіксувати за допомогою технологічного журналу. Висновок: якщо ви не використовуєте технологічний журнал для інших завдань, налаштуйте його на постійний лог збір подій "виключень" (EXCP) та формування дамп у разі падіння платформи.
  • Зафіксуйте час виникнення помилки. Це надалі допоможе локалізувати місце для вивчення різних логів.
  • Прочитайте текст повідомлення, спробуйте відразу зрозуміти джерело проблеми з вмісту цього тексту.
  • Виконайте пошук рішення за текстом повідомлення в інтернеті або інших відомих вам джерелах вирішення проблеми.
  • Ті, хто до цього не займався вирішенням проблем з помилками платформи, вирішувати їх не будуть, шукаєте тих, хто цим займався або займається.

Примітка. Приклад 1. Пошук у нижче в розділі "Де можна знайти готове рішення" за наведеним на даній сторінці тексту "10061" покаже відразу пояснення причин і Рішення: на сервері програм зупинено службу " Агент сервера 1с:Підприємство 8.1Відповідно її треба запустити, наприклад з командного рядка:

net start Агент сервера 1с:Підприємство 8.1

Якщо сервер програм не стартує, в деяких випадках зробіть копію папки C:\Program Files\1cv81\server і видаліть вміст перед спробою старту.

Зв'язування сервера 1С:Підприємство і PostgreSQL друге за популярністю серед установок 1С і рішення, що найвикористовується, на платформі Linux. На відміну від впроваджень на базі Windowsі MSSQL, де важко зробити так, щоб не запрацювало, впровадження на базі Linux тануть безліч підводних каменів для недосвідченого адміністратора. Часто буває так, що начебто все зроблено правильно, але помилка слідує за помилкою. Сьогодні ми розглянемо типові з них.

Загальна інформація

Перед тим, як починати шукати помилки установки і взагалі приступати до впровадження серверної версії 1С: Підприємства було б непогано освіжити уявлення як це працює:

У невеликих впровадженнях сервер 1С та сервер СУБД зазвичай поєднують на одному фізичному сервері, що трохи звужує коло можливих помилок. У нашому випадку розглядатиметься ситуація, коли сервери рознесені по різних машинах. У нашій тестовій лабораторії ми розгорнули таку схему:

У нашому розпорядженні є два сервери під керуванням Ubuntu 12.04 x64, на одному з них встановлений сервер 1С:Підприємство версії 8.3, на іншому PostgreSQL 9.04 від Ethersoft, а також клієнт під керуванням Windows. Нагадуємо, що клієнт працює тількиз сервером 1С, який, своєю чергою, формує необхідні запити до сервера СУБД. Жодних запитів від клієнта до сервера управління базами даних не відбувається.


ВАЖЛИВО: користувач "postgres" не пройшов автентифікацію (Ident)

Ця помилка виникає при рознесенні серверів по різних ПК через неправильно настроєну автентифікацію в локальної мережі. Для усунення відкрийте /var/lib/pgsql/data/pg_hba.conf, знайдіть рядок:

Host all all 192.168.31.0/24 ident

і приведіть її до вигляду:

Host all all 192.168.31.0/24 md5

де 192.168.31.0/24 - Діапазон вашої локальної мережі. Якщо такого рядка немає, його слід створити у секції IPv4 локальні зв'язки.

Сервер баз даних не виявлено
можна не передати host name "NAME" до адреси: Temporary failure in name resolution

На перший погляд, помилка зрозуміла: клієнт не може дозволити ім'я сервера СУБД, типова помилкадля невеликих мереж, де немає локального DNS-сервера. Як рішення додають запис у файл hostsна клієнта, що не дає жодного результату.

А тепер згадуємо, про що було сказано раніше. Клієнтом сервера СУБД є сервер 1С, але ніяк не клієнтський ПК, тому запис потрібно додавати на сервері 1С:Підприємство у файл /etc/hostsна платформі Linux або на платформі Windows.

Аналогічна помилка буде, якщо ви забули додати запис типу Aдля сервера СУБД на локальному сервері DNS.

Помилка під час операції з інформаційною базою
server_addr=NAME descr=11001(0x00002AF9): Цей хост невідомий.

Як і минула, ця помилка пов'язана з неправильним дозволомклієнтом імені сервера. На цей раз саме клієнтським ПК. Як рішення додаємо у файл /etc/hostsна платформі Linux або в C:\Windows\System32\drivers\etc\hostsна платформі Windows записвиду:

192.168.31.83SRV-1C-1204

де вказуєте адресу та ім'я вашого сервера 1С:Підприємства. У разі використання локального DNS слід додати A-записдля сервера 1С.

Помилка СУБД: DATABASE не підходить для використання

Набагато серйозніша помилка, яка говорить про те, що ви встановили несумісну з 1С:Підприємство версію PostgreSQL або припустилися грубих помилок при встановленні, наприклад не встановили всі необхідні залежності, зокрема бібліотеку libICU.

Якщо ви маєте достатній досвід адміністрування Linuxсистем, то можете спробувати доустановити необхідні бібліотеки та заново ініціалізувати кластер СУБД. У інакше PostgreSQL краще перевстановити, не забувши видалити вміст папки /var/lib/pgsql.

Також дана помилкаможе виникати при використанні збірок 9.1.xі 9.2.x Postgre@Etersoft, подробиці дивіться нижче.

Помилка СУБД:
ERROR: could not load library "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so"

Досить специфічна помилка, характерна для збирання 9.1.xі 9.2.x Postgre@Etersoft, також може призводити до попередньої помилки. Причина у невиправленій помилці у бібліотеці fasttrun.so. Рішення - відкотитися на складання 9.0.x Postgre@Etersoft.

Помилка СУБД
ERROR: тип "mvarchar" не exist at character 31

Виникає, якщо база даних була створена без допомоги системи 1С:Підприємства. Пам'ятайте, для роботи з базою даних 1С слід створювати тільки з використанням інструментів платформи 1С: через консоль

чи через засіб запуску 1С.

Сервер баз даних не виявлено
ВАЖЛИВО: користувач "postgres" не пройшов автентифікацію (за паролем)

Дуже проста помилка. Неправильно вказано пароль суперкористувача СУБД postgres. Варіантів рішення два: згадати пароль чи змінити його. У другому випадку вам потрібно буде змінити пароль у властивостях усіх існуючих інформаційних баз через оснащення Адміністрація серверів 1С Підприємства.

Сервер баз даних не виявлено
FATAL: database "NAME" не існує

Ще одна дуже проста помилка. Сенс її зводиться до того що, що зазначена БД немає. Найчастіше виникає через помилку у вказівці імені бази. Слід пам'ятати, що інформаційна база 1С у кластері та база даних СУБД – дві різні сутності та можуть мати різні імена. Також слід пам'ятати, що Linux системичутливі до регістру та для них unf83і UNF83два різних імені.

  • Теги:

Please enable JavaScript to view the

При підключенні до сервера 1С із консолі отримуємо:


Помилка на сервері або з'єднання розірвано адміністратором
Помилка формату потоку

При запуску SQL базиотримуємо помилку:


Помилка сервера або з'єднання розірвано адміністратором.
Помилка формату потоку

Отже, вихідні дані:

Свіжовстановлена ​​Windows 7 Professional x64, всі апдейти і т.д. (проблема має місце і на Server 2008 та на 2008R2)

Встановлено сервер 1C x64 (32бітний теж пробував)

Все працює до перезавантаження. Після перезавантаження при спробі підключення до бази SQL або відкритті кластера в консолі 1С отримуємо відлуп з такими картинками:

При підключенні до сервера 1С із консолі отримуємо:

Помилка з'єднання з сервером 1С:Підприємства 8.2:
Помилка на сервері або з'єднання розірвано адміністратором
Помилка формату потоку

При запуску SQL бази отримуємо помилку:

Помилка під час операції з інформаційною базою.
Помилка сервера або з'єднання розірвано адміністратором.
Помилка формату потоку


Для можливості запуску бази та підключення до кластера з консолі допомагало лише:

1. Зупинення служби сервера 1С:Підприємства 8.2

2. Видалення процесів rmngr.exe rphost.exe (сам вилітає при завершенні rmngr.exe).

3. Очищення каталогу C:\Program Files\1cv82\srvinfo\reg_1541\snccntx (у 32 бітного сервера C:\Program Files (x86)\1cv82\srvinfo\reg_1541\snccntx)

4. Запуск служби сервера 1С: Підприємства 8.2

Однак, в процесі роботи з SQL конфою, можна було несподівано зловити аварійне закриття 1Ски з подальшим отриманням цих же помилок.

Були протестовані:

1. різні релізи, різні сервери,

2. різні користувачі: Система, Адміністратор, USR1CV82.

3. примусове виставлення повних прав цим користувачам каталоги C: Program Files 1cv82 (у 32 бітного сервера C: Program Files (x86) 1cv82) з успадкуванням на дочірні об'єкти.

4. десятки перезавантажень та багато іншого.

Однак причина виявилася значно несподіваною!

Розіменування в Windows 7 (Server 2008, 2008R2, ймовірно і 2012)

Спробуйте пропінгувати свій комп'ютер на ім'я. Те, що Ви побачите, визначить можливість застосування мого рішення.

Виконати це просто:

1. Запустіть командний рядок (Win+R, наберіть cmd та натисніть OK)

2. У командному рядкунаберіть команду "Ping" пробіл та ім'я вашого комп'ютера. Саме ім'я, а не його адресу IP. Натисніть клавішу Enter.

3. Якщо система почала пінгувати себе через адресу виду fabc:de12:3456:7890:ABCD:EF98:7654:3210, або інша відмінна від Вашої IP адреси

Ласкаво просимо до приватного клубу багофічі розіменування по версії Windows 7.

Основа проблеми полягає в тому, що сервер 1С не може по імені визначити себе.

А ось, відображення Вашого IP у вигляді IPv6 – одна з найбільш частих причинвиникнення цієї помилки.

Ще однією з причин може бути періодичне підключення до іншої мережі (припустимо ВПН) коли створюється новий інтерфейсі Вінда знову ж таки починає розіменовувати себе "неправильно".

Нижче опишу два рішення для обходу цієї "особливості".

Попередньо хочу попередити:

Всі дії з Вашим комп'ютером Ви робите на свій страх і ризик.


Варіант №1Додати в Hosts свій ПК та його IP

1. Потрібно знайти файлик hosts у папці C:\Windows\System32drivers\etc Якщо в цій папці Ви не бачите файлик Hosts, значить він просто прихований. Тоді можна натиснути клавішу ALTі, в меню, вибрати "Сервіс"-"Параметри папок"-"Вигляд" і знятитам галочку "Приховувати захищені системні файли". Можна ще встановити перемикач "Показувати приховані файли, папки, диски", тоді взагалі все буде видно.(Після маніпуляцій з Hosts, рекомендую повернути галочку на її колишнє місце, щоб випадково чогось не зачепити в майбутньому)

2. Відкрити цей файл в Notepad (блокнот) і в кінець дописати рядок виду 192.168.0.1 Server (IPадреса Ім'яПК). Зберегти та закрити файлик.

3. Спробувати знову пропінгувати свій ПК через ім'я. Якщо Ви знову не бачите потрібно IP - щось пішло не так... Можливо, антивірус повернув стару версіюфайлу (Каспер таке любить) або ще щось.

Загалом потрібно досягти правильної адреси при пінгу через ім'я.


Намагаючись бути попереду всієї планети, Windows 7, мало того що ставить IPv6 відразу до всіх інтерфейсів, так вона ще й ставить його в якості дефолтного при розіменуванні. Однак на сьогоднішній день цей протокол мало хто використовує, а відтак його можна/потрібно відключити. Пам'ятайте, що зняття галочки з IPv6 в інтерфейсі мережевої картинічого не дасть!

  1. Натисніть Win+R, напишіть regedit та натисніть Enter. Відкриється редактор реєстру.
  2. Якщо з'явиться запит на вирішення дій, натисніть у діалоговому вікні Контроль облікових записів користувачівкнопку Продовжити.
  3. Знайдіть та виберіть наступний підрозділ реєстру:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\

  4. Двічі клацніть пункт DisabledComponentsдля зміни параметра DisabledComponents.
    Якщо параметр DisabledComponentsвідсутня, його необхідно створити. Для цього:
    1. Перебуваючи на гілці Параметри,в меню Виправленнявиберіть пункт Створити, а потім - Параметр DWORD (32 біти).
    2. Введіть DisabledComponents та натисніть клавішу ENTER.

      Хочу нагадати, що обидва рішення не є панацеєю, і не насправді дозволяють обійти помилку, а не усунути її причину.

Запитання: Com Помилка в ОбробкаЗаповнення


Вітання.
8.2 Роздріб 1.
коннектюсь до 8.1 Не типова конфа.
Підключаюся по com до бази та намагаюся створити документ, але при виклику "Створити Документ()" або "Отримати Об'єкт()" відбувається помилка процедури ОбробкаЗаповнення. див рис.

Спробую те саме в самій базі 8.1 але жодної помилки немає, і в Обробка Заповнення теж не входжу.
У чому косяк може бути?

Відповідь: turboq, криво написаний модуль документа!

Додано через 5 хвилин
Вона не викликається! Вона намагається скомпілюватися! Але оскільки при підключенні через ComConnector РежимДіалогаПИТАННЯ НЕ ІСНУЄ, модуль документа не може бути скомпільований.
Для таких випадків, коли в модулі об'єкта необхідно реалізувати роботу з діалогом, використовують інструкції препроцесору.

Це не твоя помилка, а помилка модуля документа в базі, до якої ти підключаєшся.

В базі код виконується на клієнті та РежимДіалогаПитання є тому все відбувається без помилок

Використовуй ComConnector, V8.Application для підключення, тоді тобі будуть доступні інтерфейсні речі

Додано через 5 хвилин
=======================================================================================================================
з опису зовнішньої сполуки (СП) Жирним виділив що тобі слід почитати про

Опис:

Загалом робота з 1С:Підприємством 8 через зовнішнє з'єднання подібна до роботи з 1С:Підприємством у режимі Automation сервера. Основні відмінності полягають у наступному:

  • У разі Automation сервера запускається повноцінний додаток 1С:Підприємства 8, а у разі зовнішнього з'єднання запускається відносно невеликий внутрішньопроцесний COM-сервер.
  • При роботі зовнішнього з'єднання не використовується модуль керованого додатку(модуль звичайної програми) конфігурації 1С:Підприємства 8. Його роль під час роботи із зовнішнім з'єднанням грає модуль зовнішнього з'єднання.
При використанні зовнішнього з'єднання є такі переваги порівняно з використанням сервера Automation:
  • Більш швидке звернення до властивостей і методів об'єктів 1C: Підприємства, оскільки організації звернення не потрібно організації міжпроцесної комунікації;
  • Найменша витрата ресурсів операційної системи.
Для організації доступу до даних 1С:Підприємства 8 через зовнішнє з'єднання виконується наступна послідовність дій:
  • створюється менеджер COM-з'єднань, за допомогою якого провадиться установка з'єднання;
  • здійснюється звернення до методу Connect менеджера COM-з'єднань. Метод Connect повертає зовнішнє з'єднання з інформаційною базою 1С:Підприємства 8;
  • через зовнішнє з'єднання здійснюється звернення до допустимих методів, властивостей та об'єктів інформаційної бази, з якою встановлено з'єднання.
Важливо! У зв'язку з відсутністю інтерфейсу користувача не всі об'єкти, а також властивості і методи можна використовувати в зовнішньому з'єднанні.
Зовнішнє з'єднання надає повний доступдо свого глобального контексту. Тому зовнішнє з'єднання своїх методів може мати: системні константи, значення заданих у конфігураторі об'єктів, доступ до яких здійснюється за допомогою менеджерів (наприклад, константи, перерахування, довідники, документи, журнали документів, звіти, обробки, плани видів характеристик, плани рахунків , плани видів розрахунку, регістри), а також змінні, оголошені в модулі зовнішнього з'єднання з ключовим словомЕкспорт.

Доступність:

Сподобалася стаття? Поділіться з друзями!
Чи була ця стаття корисною?
Так
Ні
Дякую за ваш відгук!
Щось пішло не так і Ваш голос не був врахований.
Дякую. Ваше повідомлення відправлено
Знайшли у тексті помилку?
Виділіть її, натисніть Ctrl+Enterі ми все виправимо!