Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. Не стартует netxmsd

Не стартует netxmsd

Scheduled Pinned Locked Moved Support (Russian)
8 Posts 2 Posters 27.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S
    S
    Sw66
    wrote on last edited by
    #1

    Здравствуйте! Не стартует сервер после установки, возможно, кто-нибудь сможет помочь мне. Установил сервер netxms 1.2.5 на Debian, БД на MS SQL 2008 R2. Базу создавал вручную через консоль SQL сервера, инициализировал через nxdbmgr init, все прошло нормально, таблицы и значения в них появились. Однако при попытке запустить netxmsd в логах получаю ошибку your database has format version 0, but server is compiled for version 268.  nxdbmgr check сообщил мне:  Unable to determine database syntax. Также я в таблице config не нашел параметра DBFormatVersion, по которому раньше проверялась версия БД (его нет и в SQL-скрипте заполнения базы).
    команда netxmsd debug-all dump-sql standalone ничего интересного также не выдала:
    [17-Feb-2013 00:40:56.302] Platform subagent "/usr/lib/libnsm_linux.so" successfully loaded
    [17-Feb-2013 00:40:56.303] Database driver "odbc.ddr" loaded and initialized successfully
    [17-Feb-2013 00:40:56.314] Your database has format version 0, but server is compiled for version 268

    1 Reply Last reply
    0
    • V
      V
      Victor Kirhenshtein
      wrote on last edited by
      #2

      А как вы делали инициализацию? Есть два типа SQL скриптов - dbinit_ и dbschema_. Надо использовать dbinit_ скрипт.

      1 Reply Last reply
      0
      • S
        S
        Sw66
        wrote on last edited by
        #3

        Извиняюсь за задержку с ответом, зачах с гриппом на больничном. Использовал  именно dbinit скрипт. Пробовал заполнять БД через SQL Management Studio (просто исполняя содержимое скрипта), при этом при попытке запустить демона появляются ошибки: Some characters could not be converted into client's character set. Unconverted bytes were changed to question marks. Гугление подсказало, что здесь дело в параметрах сортировки, пробовал различные наиболее распространенные - не подошло. Не знаю, дает это что-то или нет, но через isql цепляюсь с созданным DSN абсолютно нормально.

        1 Reply Last reply
        0
        • S
          S
          Sw66
          wrote on last edited by
          #4

          решил продолжить попытки подключиться.  БД через init-скрипт создается нормально, в таблице metadata  есть поле SchemaVersion со значением 268. Команда nxdbmgr check сообщает: Unable to determine database syntax. 

          XX@bkp:~$ /usr/bin/netxmsd -D 9
          Using configuration file "/etc/netxmsd.conf"
          [20-Mar-2013 19:43:14.489] Code page set to ISO-8859-1
          [20-Mar-2013 19:43:14.489] Platform subagent "/usr/lib/libnsm_linux.so" successfully loaded
          [20-Mar-2013 19:43:14.489] Debug callback set for DB library
          [20-Mar-2013 19:43:14.491] Database driver "odbc.ddr" loaded and initialized successfully
          [20-Mar-2013 19:43:14.491] DBConnect: server=DC db=Netxms login=netxmsuser schema=
          [20-Mar-2013 19:43:14.501] New DB connection opened: handle=0x18bd3c0
          [20-Mar-2013 19:43:14.501] Successfully connected to database Netxms@DC
          [20-Mar-2013 19:43:14.502] Successful sync query: "SELECT var_value FROM metadata WHERE var_name='SchemaVersion'" [1 ms]
          [20-Mar-2013 19:43:14.503] Successful sync query: "SELECT var_value FROM config WHERE var_name='DBFormatVersion'" [1 ms]
          [20-Mar-2013 19:43:14.503] Your database has format version 0, but server is compiled for version 268
          

          Интересно то, что если, например, удалить из таблицы metadata var_name SchemaVersion в принципе, то ошибка возникает уже другая: Your database has format version -1, but server is compiled for version 268 (версия 0 меняется на -1). Пробовал менять кодировки в freetds, создавать БД на сервере с разными сравнениями (collation), результата ноль. Возможно, кто-нибудь подскажет, в каком направлении продолжать копать. Сейчас netxms успешно работает на платформе Windows, сейчас очень надо перебраться на Linux.

          1 Reply Last reply
          0
          • V
            V
            Victor Kirhenshtein
            wrote on last edited by
            #5

            Ошибка "Unable to determine database syntax" означает, что в таблице metadata в параметре Syntax некорректное значение. Как выглядит таблица metadata?

            Еще насколько я помню freetds не поддерживает нормально UNICODE. Попробуйте переключить odbc.ddr в не-UNICODE режим, добавив

            DBDrvParams = unicode=false

            в netxmsd.conf.

            1 Reply Last reply
            0
            • S
              S
              Sw66
              wrote on last edited by
              #6

              В параметре Syntax стоит значение MSSQL. Но это уже не так важно, ибо DBDrvParams = unicode=false помогло, и запрос на версию базы, похоже, выполняется нормально (ошибок таких больше нет). Но от этого не легче, теперь, судя по всему, есть проблема со вставкой значений в БД:

              XX@bkp:~$ /usr/bin/netxmsd -D 9
              Using configuration file "/etc/netxmsd.conf"
              [22-Mar-2013 12:58:14.218] Code page set to ISO-8859-1
              [22-Mar-2013 12:58:14.218] Platform subagent "/usr/lib/libnsm_linux.so" successfully loaded
              [22-Mar-2013 12:58:14.218] Debug callback set for DB library
              [22-Mar-2013 12:58:14.219] Database driver "odbc.ddr" loaded and initialized successfully
              [22-Mar-2013 12:58:14.220] DBConnect: server=DC db=Netxms login=netxmsuser schema=
              [22-Mar-2013 12:58:14.231] New DB connection opened: handle=0x23efcd0
              [22-Mar-2013 12:58:14.231] Successfully connected to database Netxms@DC
              [22-Mar-2013 12:58:14.233] Successful sync query: "SELECT var_value FROM metadata WHERE var_name='SchemaVersion'" [2 ms]
              [22-Mar-2013 12:58:14.235] {0x2402fc0} Successful prepare: "SELECT var_value FROM config WHERE var_name=?" [2 ms]
              [22-Mar-2013 12:58:14.235] {0x2402fc0} bind at pos 1: "ConnectionPoolBaseSize"
              [22-Mar-2013 12:58:14.235] Failed prepared sync query: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.236] SQL query failed (Query = "SELECT var_value FROM config WHERE var_name=?"): Unable to obtain description for this error
              [22-Mar-2013 12:58:14.237] {0x2402fb0} Successful prepare: "SELECT var_value FROM config WHERE var_name=?" [1 ms]
              [22-Mar-2013 12:58:14.237] {0x2402fb0} bind at pos 1: "ConnectionPoolMaxSize"
              [22-Mar-2013 12:58:14.237] Failed prepared sync query: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.237] SQL query failed (Query = "SELECT var_value FROM config WHERE var_name=?"): Unable to obtain description for this error
              [22-Mar-2013 12:58:14.238] {0x2402f70} Successful prepare: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.238] {0x2402f70} bind at pos 1: "ConnectionPoolCooldownTime"
              [22-Mar-2013 12:58:14.238] Failed prepared sync query: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.238] SQL query failed (Query = "SELECT var_value FROM config WHERE var_name=?"): Unable to obtain description for this error
              [22-Mar-2013 12:58:14.239] DBConnect: server=DC db=Netxms login=netxmsuser schema=
              [22-Mar-2013 12:58:14.245] New DB connection opened: handle=0x24156f0
              [22-Mar-2013 12:58:14.245] DBConnect: server=DC db=Netxms login=netxmsuser schema=
              [22-Mar-2013 12:58:14.251] New DB connection opened: handle=0x245bb30
              [22-Mar-2013 12:58:14.251] DBConnect: server=DC db=Netxms login=netxmsuser schema=
              [22-Mar-2013 12:58:14.257] New DB connection opened: handle=0x245b780
              [22-Mar-2013 12:58:14.257] DBConnect: server=DC db=Netxms login=netxmsuser schema=
              [22-Mar-2013 12:58:14.262] New DB connection opened: handle=0x245b0a0
              [22-Mar-2013 12:58:14.262] DBConnect: server=DC db=Netxms login=netxmsuser schema=
              [22-Mar-2013 12:58:14.268] New DB connection opened: handle=0x24e5e90
              [22-Mar-2013 12:58:14.268] Database Connection Pool initialized
              [22-Mar-2013 12:58:14.268] Successful sync query: "SELECT var_value FROM metadata WHERE var_name='Syntax'" [0 ms]
              [22-Mar-2013 12:58:14.269] {0x255d3a0} Successful prepare: "SELECT var_value FROM config WHERE var_name=?" [1 ms]
              [22-Mar-2013 12:58:14.269] {0x255d3a0} bind at pos 1: "ServerID"
              [22-Mar-2013 12:58:14.269] Failed prepared sync query: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.269] SQL query failed (Query = "SELECT var_value FROM config WHERE var_name=?"): Unable to obtain description for this error
              [22-Mar-2013 12:58:14.270] {0x24a0b30} Successful prepare: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.270] {0x24a0b30} bind at pos 1: "ServerID"
              [22-Mar-2013 12:58:14.271] Failed prepared sync query: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.271] SQL query failed (Query = "SELECT var_value FROM config WHERE var_name=?"): Unable to obtain description for this error
              [22-Mar-2013 12:58:14.273] {0x24a0b30} Successful prepare: "INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES (?,?,?,?)" [2 ms]
              [22-Mar-2013 12:58:14.273] {0x24a0b30} bind at pos 1: "ServerID"
              [22-Mar-2013 12:58:14.273] {0x24a0b30} bind at pos 2: "55ABF03306014C51"
              [22-Mar-2013 12:58:14.273] {0x24a0b30} bind at pos 3: "1"
              [22-Mar-2013 12:58:14.273] {0x24a0b30} bind at pos 4: "0"
              [22-Mar-2013 12:58:14.273] Failed prepared sync query: "INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES (?,?,?,?)" [0 ms]
              [22-Mar-2013 12:58:14.273] SQL query failed (Query = "INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES (?,?,?,?)"): Unable to obtain description for this error
              [22-Mar-2013 12:58:14.274] {0x255d3a0} Successful prepare: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.275] {0x255d3a0} bind at pos 1: "DBLockStatus"
              [22-Mar-2013 12:58:14.275] Failed prepared sync query: "SELECT var_value FROM config WHERE var_name=?" [0 ms]
              [22-Mar-2013 12:58:14.275] SQL query failed (Query = "SELECT var_value FROM config WHERE var_name=?"): Unable to obtain description for this error
              [22-Mar-2013 12:58:14.275] DBLockStatus="ERROR"
              [22-Mar-2013 12:58:14.275] Error initializing component locks table
              
              1 Reply Last reply
              0
              • V
                V
                Victor Kirhenshtein
                wrote on last edited by
                #7

                Похоже нашел баг в odbc.ddr - ошибка в работе с prepared statements если выключена поддержка UNICODE. Сейчас исправлю и пришлю патч на тест.

                1 Reply Last reply
                0
                • V
                  V
                  Victor Kirhenshtein
                  wrote on last edited by
                  #8

                  Попробуйте заменить src/db/dbdrv/odbc/odbc.cpp на приложеный и пересобрать odbc.ddr.


                  odbc.cpp

                  1 Reply Last reply
                  0

                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                  With your input, this post could be even better 💗

                  Register Login
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  Powered by NodeBB Contributors
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups