|
Вопрос # 3 398/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
ВОпрос таков: как взаимодействовать с ДЛЕ движком непосредственно из Делфи приложения?
Как я опнимаю, ДЛЕ (Data LIfe Engine) статьи(новости), как и пользователи и т.д. хранятся в базах данных. Не подскажете как к ним подключиться и какие стандартные запросы для поиска новостей использовать?
То есть если знать адрес *.db файла на сервере и к нему подрубаться, а далее работать с ним как с обычной БД?
Заранее спасибо за ответ на вопрос с ответом :)))
 |
Вопрос задал: 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 (статус: Посетитель), 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 (статус: Посетитель), 15 ноября 2009, 17:47 [#8]:
Вадим К:
"Правда надо уметь программировать"
спасибо что вы такого лестного обо мне мнения 
Хм, если доступны локально то скрипт написанный мной и закинутый на сервер и будет локально обращаться к БД а я к скрипту уже внешне.. Красивое решение. Но требуется и правда повозиться....
Косолапов Дмитрий Юрьевич:
Погрылся на фтп. Единственное что вообще прописано в том файле "engine/data/congig.php" это:
'smtp_host' => "localhost"
больше вообще ни одной строки с адресом ни на локалку ни на адрес сайта. Других файлов конфига обнаружено не было...
з.ы. Проблема не в том что нужно оооочень много копипастить. Проблема в том, что бы поставить дело на поток...
О
з.з.ы. А как тогда работает Веб-интерфейс ДЛЕ. Ведь зная логин/пас админский от кабинета ДЛЕ, я могу там создавать новости/заливать файлы... Явно этот веб-интерфейс работает с БД напрямую (но правда локально, т.к. он на сервере лежит). Так почему бы не создать программу, которая точно так же будет работать ка ки этот веб-интерфейс.
Правда если удаленно так работать нельзя, то придется писать скрипты работы с БД и сливать их на сервер. Далее обращаясь из программы к ним как к функциям (передавая имя новости, ее содержимое и список прикрепленных фаилов), которые уже будут работать с БД непосредственно на сервере, эмулируя работу ка в лок.сети.
|
|
Вадим К (статус: Академик), 15 ноября 2009, 18:00 [#9]:
Логин к базе запрятан где то в внутренностях. Где именно - надо искать.
А пароль на админку и пароль на базу - это две разных, не связанных между собой сущности.
"поставить на поток" - хочется написать готовый интерфейс к DLE, что бы любой мог его использовать?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Grin (статус: Посетитель), 15 ноября 2009, 18:26 [#10]:
Нет, использовать буду только я, продукт домашнего пользования, так сказать. Просто программа работает в фоновом режиме как бы в идеале сама ищет материал,создает новости, их публикует и т.д.
(первая часть поиска и создания материала почти готова, дкмал проще будет с ДЛЕ работать =/)
Про пароль - понятно и так, что к серверу один пас, а к аккаунту БД - второй. А вот вы говорите про какой то третий.. "логин к базе" что за он поподробнее? о_О
"логин к базе" - не тот ли пасс и акк, что я использую, когда работаю с веб-интерфейсом?
|
|
Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 16 ноября 2009, 09:42 [#11]:
Цитата (Grin):
Явно этот веб-интерфейс работает с БД напрямую (но правда локально, т.к. он на сервере лежит). Так почему бы не создать программу, которая точно так же будет работать как и этот веб-интерфейс.
Правда если удаленно так работать нельзя, то придется писать скрипты работы с БД и сливать их на сервер. Далее обращаясь из программы к ним как к функциям (передавая имя новости, ее содержимое и список прикрепленных фаилов), которые уже будут работать с БД непосредственно на сервере
Да, так и есть. Осталось только выдрать параметры доступа к базе. Я бы даже сказал, эту доработку очень хорошо было бы оформить как модуль для DLE, тогда с доступом к базе проблемы должны решиться
Единственный момент - про обращение к скриптам как функциям, скорее всего нужно будет посылать POST-запрос по HTTP.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|