Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Доступ к БД через интернет.


Автор: Abracadabra 12.4.2008, 00:38
Я давно работаю с Delphi и БД
а тут по знакомству попросили написать базу данных, чтобы сама база лежала на одном из компьютеров, а доступ к ней осуществлялся через интернет.
Я, честно говоря, даже не знаю как это вообще делается, и даже не соображу с чего начать? (но очень интересно попробовать)

посоветуйте что можно прочитать (выпить, съесть), чтобы хоть понять в каком направлении двигаться.

Заранее спасибо.

Автор: Данкинг 12.4.2008, 01:58
В ADO вроде как можно подключаться к базе (к примеру, SQL), указывая IP компьютера. Хотя практически я этого никогда не делал. В общем, прочитать хелп по AdoConnection надо.

Автор: bartram 12.4.2008, 08:30
Abracadabra, вам сначала надо определиться, какую базу вы хотите использовать...

Автор: mmvds 12.4.2008, 09:38
В своем проекте использовал следующий вариант:
На хостинге в инете: база MySql + Php скрипты для обработки данных 
На делфях форма с WebBrowser и кнопки для загрузки основных скриптов (выборка, добавление, изменение данных) в webbrowser.

Автор: Rodman 12.4.2008, 11:10
1. Веб-сервис
2. На прямую


какая СУБД?

Автор: Abracadabra 13.4.2008, 13:12
Цитата(Rodman @ 12.4.2008,  11:10)
1. Веб-сервис
2. На прямую


какая СУБД?

А поточнее?

С базой варианты такие:
можно FireBird
можно MySQL

Автор: aleko_s 20.5.2008, 15:46
У меня пару месяцев назад появилась подобная задача. Дано:База MySQL на сервере хостера. Требуется: быстронаписанная программа, которая что-то делает с этой базой (а на PHP я быстро пока писать не умею). На дельфи написал программмульку (с тремя "м", т.к. "мулька") которая занимается поиском по базе, добавлением и редактированием записей в таблицах. В процессе наступил на огромное кол-во грабель, на которые до меня наступило огромное количество программистов. И трудности с кодировкой кириллицы, и борьба с тайм-аутом.Если интересно, поделюсь, но это будет лишь очередная вариация на давно существующую тему....

А схему я выбрал такую(часто критикуется моими друзьями, избалованными MS SQL, но работает):
MySQL server <- Connector/ODBC 3.51.25 <- BDE <- TDatabase <- TQuery и т.д.

Через ADO , кстати, не получилось, но не очень-то старался, т.к. уже был работающий вариант с BDE.

Говорят имеется набор компонентов, который умеет работать напрямую и с Oracle, и с MySQL, и с MS SQL, и с Interbase(Firebird). Говорят, что и стоит сравнительно недорого, но......

Автор: MadCoder 21.5.2008, 11:03
Через ADO иметь смысл делать. Про набор компонентов, наверное это EhLib.

Автор: aleko_s 22.5.2008, 11:56
Цитата(MadCoder @ 21.5.2008,  11:03)
Через ADO иметь смысл делать. Про набор компонентов, наверное это EhLib.

EhLib умеет работать с разными базами потому, что жту возможность ему любезно предоставляют другие компоненты. Компоненты EhLib понятия не имеют о существовании MySQL, Oracle, MS SQL. Они умеют работать с объектом класса TDatasource.  А на то, что стоит до него им плявать с высокой колокольни. И не потому, что они такие крутые, а потому, что так надо  smile 

Я имел ввиду другое. Имеются наборы ODAC - Oracle Direct Access Components, Interbase Direct, MySQL Direct Access Components и аналогичная штучка для MS SQL (не помню, как называется   smile ). Просто я краем уха слышал (не было желания на эту тему гуглить), что есть универсальный набор компонентов  доступа к данным (Data Access)


Автор: X-Vlad 22.5.2008, 13:43
Делал подобную штуку.
Для начала у компа на котором стоит база должна быть   реальная IP чтобы можна было достучатся из мира. Ставил на комп Firebird потом через обычные компоненты работы с ынтербейсом достукивался до базы и работал с ней без особых проблем. Вот только если много данных тянуть - будет немного тормозить.
В конекте к базе используеш IP компьютера где установлена база. (например:  \\195.55.55.55\d:\base\test.gdb). 

если ты работал с базами в локалке то проблем чтобы перенести это на и-нет небудет )))) просто задаешь другую IP.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)