Не совсем понимаю правила настройки строки соединения с базой для zabbix_server. Колупался с zabbix_server.conf, пока не посмотрел в код /zabbix-1.8.2/src/libs/zbxdb/db.c
т.е. она в любом случае пытается построить строку вида
Стоит только опустить host и тогда connect будет всегда пустым. Я, к своему сожалению, не знаю такого формата строки соединения. И пытаюсь настроить соединение на описание в TNS, т.е. указывать только dbname, юзера и пароль забикс схемы. И забикс и ораклячий сервант стоят на одном хосте. tns'ы настроены.
Собственно, к чему я это все. В приведенном выше коде подчеркнутое и выделенное "&& connect" точно не лишнее? Если его убрать, то строка соединения собирается так, как мне нужно.
Code:
if (host && *host) {
connect = zbx_strdcatf(connect, "//%s", host);
if (port)
connect = zbx_strdcatf(connect, ":%d", port);
}
if (dbname && *dbname [U][B]&& connect[/B][/U]) {
if (connect)
connect = zbx_strdcat(connect, "/");
connect = zbx_strdcatf(connect, "%s", dbname);
}
Code:
//host:port/dbname
Собственно, к чему я это все. В приведенном выше коде подчеркнутое и выделенное "&& connect" точно не лишнее? Если его убрать, то строка соединения собирается так, как мне нужно.
ort/dbname - это формат easy connection string
Comment