Перейти к содержимому


API для работы с БД (импорт\экспорт)

бд экспорт данные

Сообщений в теме: 9

#1 YaRosh

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 12 Февраль 2012 - 00:10

Существуют ли какие-то API функции для работы с данными в Вашей системы?

Ситуация 1
У меня есть мой скрипт, который раз в 10 минут заходит в БД и должен делать выборку под двум таблицам(связанными между собой) с определенными параметрами.
Хотелось бы понять, как это можно реализовать. Т.к. у меня есть большое количество системных скриптов, которые обращаются напрямую в БД...

Ситуация 2
Так же, есть обратная ситуация, когда данные в БД должны приходить от моего системного скрипта. Например он пишет в БД данные о загрузке процессора... А я уже через Вашу систему смотрю эти значения.

Как можно решить данные ситуации?
Наличие данных функция значительно бы улучшило Вашу системы и возможность её интеграции с другими системами...

Сообщение отредактировал YaRosh: 12 Февраль 2012 - 10:11


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 722 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 13 Февраль 2012 - 09:09

Что конкретно имеется ввиду под API в данном случае? Примерно хотя бы нарисуйте.

#3 YaRosh

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 13 Февраль 2012 - 11:54

Просмотр сообщенияРазработчик (13 Февраль 2012 - 09:09) писал:

Что конкретно имеется ввиду под API в данном случае? Примерно хотя бы нарисуйте.
Например, я знаю что у меня есть таблица Загрузка CPU с полями: ID, Дата, Время, CPU(средняя загрузка процессора за единицу времени).

У меня есть скрипт, который раз в какое-то время получается данные по загрузке процессора и он должен добавить эти данные в БД Вашей системы примерно так:

$data = array('ID' => 1, 'Дата' => '2011-11-11', 'Время' => '11:11:11', 'CPU' => '5');
$cb->insert('Загрузка CPU', $data); //Вставка записи в БД в соответствии с её структурой
или
$cb->update('Загрузка CPU', $data, 'ID=1'); //Обновление записи

Например мне нужно выбрать из Вашей БД данные из таблици Загрузка CPU.
$polya = array('ID', 'Дата', 'CPU');
$where = "Дата > 2011-01-01";
$result = $cb->select('Загрузка CPU', $polya, $where);

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 722 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 13 Февраль 2012 - 12:05

Подобная объектная модель у нас пока не используется (хотя планируется внедрить), но есть аналогичный набор функций data_table, insert_query и update_query, которые позволяют считывать и записывать данные в БД практически также. Примеры есть в документации и здесь: http://clientbase.ru...?showtopic=3221

#5 YaRosh

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 13 Февраль 2012 - 12:24

Просмотр сообщенияРазработчик (13 Февраль 2012 - 12:05) писал:

Подобная объектная модель у нас пока не используется (хотя планируется внедрить), но есть аналогичный набор функций data_table, insert_query и update_query, которые позволяют считывать и записывать данные в БД практически также. Примеры есть в документации и здесь: http://clientbase.ru...?showtopic=3221
О! Этого вполне достаточно. Но как вызвать функцию insert_query из своего скрипта? Т.е. что я должен подключить инклюдом в свой файл обработки данных, чтобы функция insert_query или update_query отработала?

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 722 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 13 Февраль 2012 - 12:36

Файл common.php из корня программы.

#7 YaRosh

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 13 Февраль 2012 - 18:23

Просмотр сообщенияРазработчик (13 Февраль 2012 - 12:36) писал:

Файл common.php из корня программы.
Спасибо! :)
П.с. Было бы хорошо добавить это в документацию к вашей программе ;)

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 722 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Февраль 2012 - 09:27

Документация не предусматривает написание своих скриптов, а вычислениях ничего инклудить не надо. По функциям добавим конечно, как руки дойдут.

Кстати, а зачем вам свои отдельные скрипты? Если речь о выполнении периодических задач - для этого в программе есть встроенный cron, добавляйте свой код туда. И ничего инклудить там не нужно.

#9 YaRosh

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 14 Февраль 2012 - 12:55

Просмотр сообщенияРазработчик (14 Февраль 2012 - 09:27) писал:

Документация не предусматривает написание своих скриптов, а вычислениях ничего инклудить не надо. По функциям добавим конечно, как руки дойдут.
Кстати, а зачем вам свои отдельные скрипты? Если речь о выполнении периодических задач - для этого в программе есть встроенный cron, добавляйте свой код туда. И ничего инклудить там не нужно.
Я часто делаю интеграцию систем управления с разными серверными приложениями и системами. Например с АТС Asterisk, DNS, DHCP, платежные системы и т.п. системами и службами.
Внешние скрипты проще отлаживать. Их можно переносить из проекта в проект не привязываясь к системе. Только логику работы с БД меняешь в нескольких местах и все.
Есть скрипты которые работают в режиме реального времени, обрабатывающие множество параметров их запускать через крон нельзя.

Конечно самой основной причиной является возможность сведения к минимуму зависимости от системы управления.

Пару примеров из жизни:
Например АТС сама добавляет информацию о звонках в БД. Как через крон реализуешь это? С учетом того, что информация мне нужна с задержкой 1-2 секунды.
Или прошел платеж через платежную систему. Платежная система обращается по заданному адресу к моему скрипту. Который проверяет входящие параметры и проставляет ордеру отметку об оплате. Тут же запускается куча других действий: отправка СМС, уведомление на почту.

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 722 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Февраль 2012 - 13:27

Ок-ок, ясно. Я не думал что вам это нужно для интеграции с другими приложениями. Как всегда, применение программы вышло за рамки задуманного ее создателями.





Количество пользователей, читающих эту тему: 5

0 пользователей, 5 гостей, 0 анонимных