Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 398

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
ВОпрос таков: как взаимодействовать с ДЛЕ движком непосредственно из Делфи приложения?
Как я опнимаю, ДЛЕ (Data LIfe Engine) статьи(новости), как и пользователи и т.д. хранятся в базах данных. Не подскажете как к ним подключиться и какие стандартные запросы для поиска новостей использовать?

То есть если знать адрес *.db файла на сервере и к нему подрубаться, а далее работать с ним как с обычной БД?

Заранее спасибо за ответ на вопрос с ответом :)))

Grin Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Grin (статус: Посетитель)
Вопрос отправлен: 13 ноября 2009, 02:02
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 11; последнее сообщение — 16 ноября 2009, 09:42; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 13 ноября 2009, 02:29 [#1]:

Странный вопрос, но думаю, что я знаю на него полный ответ, но для начала хочу уточнить, что я правильно понял всё в вопросе.
1) DLE - это http://dle-news.ru/ ?
2) сайт Ваш или произвольный, на котором Вы гость?
Галочка "подтверждения прочтения" - вселенское зло.
Косолапов Дмитрий Юрьевич

Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 13 ноября 2009, 20:17 [#2]:

DLE использует базы данных MySQL, поэтому Вы можете доступаться из Delphi-приложения к этой базе, используя соответствующие компоненты. Вам также нужно будет знать сервер БД, имя БД, имя пользователя и пароль.
Вадим К

Вадим К (статус: Академик), 13 ноября 2009, 20:31 [#3]:

to Косолапов Дмитрий Юрьевич
я бы не спешил на Вашем месте с таким ответом. Даже если я угадал, что такое DLE, и там действительно MySQL, при правильной настройке сервера (а так оно обычно и есть), получить доступ к базе не получиться так как вы пишете.
Галочка "подтверждения прочтения" - вселенское зло.
Косолапов Дмитрий Юрьевич

Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 14 ноября 2009, 11:23 [#4]:

to Вадим К

Цитата:

при правильной настройке сервера (а так оно обычно и есть), получить доступ к базе не получиться так как вы пишете.

Тоже верно, с этим замечанием согласен.
Grin

Grin (статус: Посетитель), 14 ноября 2009, 14:24 [#5]:

Спасибо за ответы.

<b>Вадим К:</b>
Да, ДЛЕ я имел именно то что вы и думали.
Да, я админ сайта и мне необходимо добавлять статьи на него не через онлаин-движок ДЛЕ, а непосредственно программой, которая генерирует новость.


Но почему тогда к нему не получится получить доступ удаленно в БД, если я админ этого сайта и знаю пас\логин админки...?


-------------
Возможно можно скачивать сам файл базы данных всех новостей, с ним поработать (добавить\удалить новости) и закачать с заменой обратно на сервер...? о_О

Проблема все равно в том что я не знаю где лежит эта база... как с ней работать думаю можно просто проанализировав записи базы и заодно выучив пару команд работы с базами данных...
Вадим К

Вадим К (статус: Академик), 14 ноября 2009, 17:13 [#6]:

Где лежит база вам знать не нужно. Более того, это вредно и вряд ли поможет.
Во вторых, то что вы знаете имя/пароль - ещё ничего не значит. Многие такие базы доступны только локально. Либо с определенной машины. И скорее всего, точно не с Вашей (Это была бы большая дыра в безопасности).
Что же делать? тут есть одно красивое решение. Правда надо уметь программировать. Для этого на сайте пишется серия скриптов-прослойки, а программа уже работает через неё.
Например результат select запроса может отдаваться в виде csv или xml. а сам запросе к серверу передаются имя таблицы, нужные поля и имя-пароль (не к базе!, а Ваши, специально сделаны для этого дела).
Галочка "подтверждения прочтения" - вселенское зло.
Косолапов Дмитрий Юрьевич

Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 15 ноября 2009, 09:20 [#7]:

Grin, пароль и логин админки здесь ни при чем, для доступа к БД используется совсем другая пара.
Если есть доступ к сайту по FTP, то обычно эти сведения лежат в файле вида config.php. Однако если в качестве хоста БД указан localhost, то это то, о чем писал Вадим К - доступиться к базе не получится.

Кстати, сколько новостей в день генерируется программой? Просто если мало, то проще "копипастить", по-моему.
Grin

Grin (статус: Посетитель), 15 ноября 2009, 17:47 [#8]:

Вадим К:
"Правда надо уметь программировать"
спасибо что вы такого лестного обо мне мнения ;)

Хм, если доступны локально то скрипт написанный мной и закинутый на сервер и будет локально обращаться к БД а я к скрипту уже внешне.. Красивое решение. Но требуется и правда повозиться....

Косолапов Дмитрий Юрьевич:
Погрылся на фтп. Единственное что вообще прописано в том файле "engine/data/congig.php" это:
'smtp_host' => "localhost"
больше вообще ни одной строки с адресом ни на локалку ни на адрес сайта. Других файлов конфига обнаружено не было...
з.ы. Проблема не в том что нужно оооочень много копипастить. Проблема в том, что бы поставить дело на поток...
О:)

з.з.ы. А как тогда работает Веб-интерфейс ДЛЕ. Ведь зная логин/пас админский от кабинета ДЛЕ, я могу там создавать новости/заливать файлы... Явно этот веб-интерфейс работает с БД напрямую (но правда локально, т.к. он на сервере лежит). Так почему бы не создать программу, которая точно так же будет работать ка ки этот веб-интерфейс.
Правда если удаленно так работать нельзя, то придется писать скрипты работы с БД и сливать их на сервер. Далее обращаясь из программы к ним как к функциям (передавая имя новости, ее содержимое и список прикрепленных фаилов), которые уже будут работать с БД непосредственно на сервере, эмулируя работу ка в лок.сети.
Вадим К

Вадим К (статус: Академик), 15 ноября 2009, 18:00 [#9]:

Логин к базе запрятан где то в внутренностях. Где именно - надо искать.
А пароль на админку и пароль на базу - это две разных, не связанных между собой сущности.

"поставить на поток" - хочется написать готовый интерфейс к DLE, что бы любой мог его использовать?
Галочка "подтверждения прочтения" - вселенское зло.
Grin

Grin (статус: Посетитель), 15 ноября 2009, 18:26 [#10]:

Нет, использовать буду только я, продукт домашнего пользования, так сказать. Просто программа работает в фоновом режиме как бы в идеале сама ищет материал,создает новости, их публикует и т.д.
(первая часть поиска и создания материала почти готова, дкмал проще будет с ДЛЕ работать =/)

Про пароль - понятно и так, что к серверу один пас, а к аккаунту БД - второй. А вот вы говорите про какой то третий.. "логин к базе" что за он поподробнее? о_О
"логин к базе" - не тот ли пасс и акк, что я использую, когда работаю с веб-интерфейсом?
Косолапов Дмитрий Юрьевич

Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 16 ноября 2009, 09:42 [#11]:

Цитата (Grin):

Явно этот веб-интерфейс работает с БД напрямую (но правда локально, т.к. он на сервере лежит). Так почему бы не создать программу, которая точно так же будет работать как и этот веб-интерфейс.
Правда если удаленно так работать нельзя, то придется писать скрипты работы с БД и сливать их на сервер. Далее обращаясь из программы к ним как к функциям (передавая имя новости, ее содержимое и список прикрепленных фаилов), которые уже будут работать с БД непосредственно на сервере

Да, так и есть. Осталось только выдрать параметры доступа к базе. Я бы даже сказал, эту доработку очень хорошо было бы оформить как модуль для DLE, тогда с доступом к базе проблемы должны решиться

Единственный момент - про обращение к скриптам как функциям, скорее всего нужно будет посылать POST-запрос по HTTP.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:41
Выполнено за 0.03 сек.