Пытаюсь поставить NetXMS 0.2.19(из портов) на FreeBSD 6.2-10 с базой на другом сервере (MSSQL 2000 Server). Настроил unixODBC/FreeTDS, проверил - база через ODBC доступна.
Настраиваю netxmsd.conf
------------------
DBDriver = /usr/local/lib/libnxddr_odbc.so
DBServer = ИМЯ_ИСТОЧНИКА
DBLogin = netxms
DBPassword = пароль
------------------
Инициализирую базу:
-------------------
mx# /usr/local/bin/nxdbmgr -c /usr/local/etc/netxmsd.conf init /usr/local/share/netxms/sql/dbinit_mssql.sql
NetXMS Database Manager Version 0.2.19
Configuration file OK
Initializing database...
Database initialized successfully
-------------------
Таблицы в базе создаются, в таблице config параметр DBSyntax=MSSQL
Вроде все нормально, но когда пытаюсь запустить сервер:
-------------------
mx# /usr/local/bin/netxmsd --config /usr/local/etc/netxmsd.conf --check-db
NetXMS Database Manager Version 0.2.19
Configuration file OK
Unknown database syntax
-------------------
В чем дело? Подскажите, пожалуйста, что я делаю не так.
			
			
			
				Dejstvija pravil'nie, problema gde-to v softe.
nxdbmgr v soobschenii ob oshibke pishet znachenie DBSyntax kotoroe on prochital iz bazi, t.e. v nashem sluchae on poluchil pustuju stroku v otvet na zapros
SELECT var_value FROM config WHERE var_name='DBSyntax'
Vozmoznie problemi sledujuschie:
1. Kakoj-to bug v nashem ODBC draivere 
2. Bug vo FreeTDS draivere - mi ispol'zuem UNICODE versii ODBC funkcij i SQL_C_WCHAR v SQLGetData - podderzivaet li ih FreeTDS?
Poprobuju pokopat' glubze...
			
			
			
				Po rezul'tatam poiska v Internete, pohoze chto problema imenno v tom, chto FreeTDS draiver ne podderzivaet peredachu dannih klientu v UCS-2 (t.e. SQL_C_WCHAR binding). Nekotorie ssilki:
http://osdir.com/ml/db.tds.freetds/2004-05/msg00114.html (http://osdir.com/ml/db.tds.freetds/2004-05/msg00114.html)
http://lists.ibiblio.org/pipermail/freetds/2006q2/020068.html (http://lists.ibiblio.org/pipermail/freetds/2006q2/020068.html)
Edinstvennij variant reshenija problemi kotorij mne poka-chto prihodit v golovu eto sdelat' otdel'nuju versiju NetXMS ODBC draivera kotorij budet ispol'zovat' single-byte versii vseh funkcij.
			
			
			
				Hello,
If I understand correctly currently it is not possible to run architecture 
netxmsd (linux) -> mssql (windows) with netxms version higher than 0.2.19... 
Somehow I can confirm this trying to use:
-   netxms-0.2.22
-   unixODBC-2.2.12
-   freetds-0.82
symptoms is:
- DEBUG: Successful sync query: "SELECT var_value FROM config WHERE var_name='DBFormatVersion'" [0 ms]
- Your database has format version 0, but server is compiled for version 83
I will check forum next time first :(
Btw:
-   Is fixing/suporting this planned
-   How much work does fix require (some, a lot)
-   Did someone try:  linux odbc – > linux jdbc -> mssql ?
Ales
			
			
			
				Hi!
Since 0.2.22, you can set NetXMS ODBC database driver not to use unicode by adding
DBDrvParams = unicode=no
to your netxmsd.conf file. I have tested NetXMS server running on Ubuntu Linux with MS SQL 2005 via UNIX ODBC, and it works fine.
Best regards,
Victor