Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.09.2009, 21:27   #1
PavluxaF
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 10
По умолчанию Организация доступа к БД по локальной сети

Доброго времени суток!
Есть БД на 10 000 записей (MSAccess), необходимо организовать доступ к данной БД клиентских приложений в данной локальной сети (желательно при помощи ADO).
Пожалуйста подскажите как это сделать, или где найти информацию по данной тематике (желательно с примерами).
PS Прошу прощения если данная тема уже обсуждалась.
PavluxaF вне форума
Старый 23.09.2009, 08:27   #2
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

совсем недавно обсуждалось. а вообще Access крайне не рекомендуется использовать в сети да и еще с таким объемом данных.
фЁдОр вне форума
Старый 01.10.2009, 19:54   #3
PavluxaF
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 10
По умолчанию

Начало понемногу получаться!
Если делать через MIDAS, то вылетает ошибка ОТКАЗАНО В ДОСТУПЕ
Подскажите в чем может быть ошибка?

СЕРВЕР: Состоит из Формы и Remote Data Module (+ через ado подключена БД)
На форме ничего нету а код Remote Data Module приведен далее:

unit Unit2;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
DBClient, Project1_TLB, StdVcl, Provider, DB, ADODB;

type
TServer = class(TRemoteDataModule, IServer)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSetProvider1: TDataSetProvider;
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
public
{ Public declarations }
end;

implementation

{$R *.DFM}

class procedure TServer.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end else
begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;

initialization
TComponentFactory.Create(ComServer, TServer,
Class_Server, ciMultiInstance, tmApartment);
end.


КЛИЕНТ:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBClient, MConnect, Grids, DBGrids;

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
DCOMConnection1: TDCOMConnection;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
DCOMConnection1.ComputerName:='192. 168.0.1'; //это например
DCOMConnection1.ServerName:='Projec t1.Server';// Имя сервера
DCOMConnection1.ServerGUID:='{9BE3A C7C-FB4E-458A-BC37-BE4F20AF1FB1}';// GUID моего сервера
DCOMConnection1.Connected:=true;
MessageDlg(BoolToStr(DCOMConnection 1.Connected),mt Information,[mbOK],0);
ClientDataSet1.ProviderName:='DataS etProvider1';//имя провайдера
ClientDataSet1.Active:=true;
MessageDlg(BoolToStr(ClientDataSet1 .Active),mtInfo rmation,[mbOK],0);
end;

end.


ПОСЛЕ НАЖАТИЯ НА КНОПКУ КЛИЕНТ ДОЛЖЕН ПОЛУЧИТЬ ДАННЫЕ, MESSAGEDLG ПОКАЗЫВАЕТ ЧТО КЛИЕНТ К СЕРВЕРУ ВРОДЕ-БЫ ПОДКЛЮЧАЕТСЯ (ИНАЧЕ СВОЙСТВА DCOMConnection1.Connected И ClientDataSet1.Active БЫЛИ = 0),
НО ВИНДА ВЫДАЕТ ОШИБКУ С НАДПИСЬЮ ОТКАЗАНО В ДОСТУПЕ!
PavluxaF вне форума
Старый 01.10.2009, 21:25   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

сконвертируйте базу в MySQL, с ней проблем будет меньше
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума
Старый 02.10.2009, 17:18   #5
PavluxaF
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 10
По умолчанию

От меня требуют Access.
На всякий случай выложу листинги. Может я где-то что-то путаю?
БД скидывать не буду, я думаю каждый в силах создать простейшую mdb-шку и переписать connectionstring
Вложения
Тип файла: rar DataSnap.rar (28.0 Кб, 32 просмотров)
PavluxaF вне форума
Старый 04.10.2009, 13:03   #6
PavluxaF
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 10
По умолчанию

Сделал тоже самое через SocketConnection работает на ура!
Спасибо всем за обсуждение. Вопрос решен.
PavluxaF вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Настройка локальной сети Наденька Работа с сетью в Delphi 2 31.07.2009 17:09
Организация сети ryton Свободное общение 7 25.06.2008 07:46
эмуляция локальной сети Vasya Свободное общение 2 26.10.2007 19:27
Эмулятор локальной сети andrey4623 Софт 4 20.08.2007 19:58