DBWriter

Материал из М-200 WIKI

Перейти к: навигация, поиск

DBWriter - программа выполняющая запись тарификационных данных в базу данных Mysql, в on-line режиме. Для работы программы нужен настроенный Callbuilder. DBWriter читает строки тарификации c tcp-порта Callbuilderа. Строки должны поступать в формате Тариф 2004

Перед сборкой, кроме стандартных библиотек  входящих по умолчанию в большинство дистрибутивов Linux, нужно установить библиотеку libmysql++-dev 3.0.0-1. В вашем дистрибутиве Linux версия библиотеки может отличаться.

Сборка:

  • распаковать архив dbwriter.tar.gz
  • перейти в каталог с исходными кодом программы
  • Выполнить команду make

Перед запуском программы должен быть установлен и настроен Mysql сервер, и создана база данных и таблица со следующей структурой:

CREATE DATABASE IF NOT EXISTS lab_db;
USE lab_db;
CREATE TABLE `lab_db`.`kungur` (
`id` double NOT NULL auto_increment,
`numer_a` char(10) character set utf8 default NULL,
`aon_a` char(20) character set utf8 default NULL,
`soed` char(10) character set utf8 default NULL,
`numer_b` char(20) character set utf8 default NULL,
`date` char(9) character set utf8 default NULL,
`time` char(9) character set utf8 default NULL,
`prodol` char(10) character set utf8 default NULL,
`prichina` char(3) character set utf8 default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Имя базы и таблицы можно менять, а вот название полей и структуру базы данных менять не следует.



Настройка DBWriter осуществляется с помощью командной строки в следующем формате:

dbwriter -ipcall <ip адрес> -portcall <tcp-port> - dbhost <ip адрес БД> -dbname <имя базы данных> -dbuser <пользователь БД> -dbpass <пароль к БД> -dbtable <имя таблицы БД> -d <режим демона>

Например :

/usr/local/bin/dbwriter -ipcall 127.0.0.1 -portcall 10003  -dbhost 127.0.0.1 -dbname lab_db -dbuser root -dbpass lab -dbtable tarif -d


Описание параметров комендной строки :

  • -ipcall - ip адрес серверной части Callbuilder на которую выводятся тарификационные данные.

       Если Callbuilder  находится на этом же сервере, ip адрес должен быть 127.0.0.1 (не в коем случае не   localhost)

  • -portcall - tcp-порт серверной части Callbuilder на которую выводятся тарификационные данные
  • -dbhost - ip адрес сервера базы данныx MYSQL

       Если Mysql-сервер находится на этом же сервере ip адрес должен быть 127.0.0.1 (не в коем случае не localhost)

  • -dbname - имя базы данных
  • -dbuser - пользователь базы данных
  • -dbpass - пароль для доступа к базе данных
  • -dbtable - имя таблицы базы данных
  • -d - режим демона (при указанном параметре стандартные вывод отключен)

порядок следования параметров не важен.


Категории