Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

MIDAS   Найти похожие ветки 

 
изм   (2003-08-19 13:53) [0]

Прошу сильно не пинать только учусь

проблема у меня следующая:

Есть сервер приложения на нем DataBase1, Session1 (AutoSesionName = true) и пара таблиц с провайдерами,
есть метод

procedure TSimple.Connect(const UserName, Password: WideString; out DidLogin: HResult);
begin
Database1.Params.Clear;
Database1.Params.Add("PASSWORD="+Password);
Database1.Params.Add("USER NAME="+UserName);
FPassword := Password;
FUserName := UserName;
try
DidLogin := 0;
Database1.Open;
except
DidLogin := 1;
raise;
end;
end;

у клиента
несколько TClientDataSet, FISimple :ISimple;
и процедура

procedure TForm2.btConnectClick(Sender: TObject);
var
R: HRESULT;
begin
FISimple := CoSimple.Create;
FISimple.Connect("SYSDBA", "1", R);
if R = 0 then
begin
cdsCustomer.Open;
cdsVendors.Open;
end;
end;

теперь собственно вопрос почему для одного клиента создается две сессии (на открытие базы и на открытие таблиц) и как это лечить?


 
Digitman   (2003-08-19 14:50) [1]

сам же пишешь

> несколько TClientDataSet


при такой схеме сколько объектов TClientDataSet -
столько и сессий получаешь на стороне сервера


 
изм   (2003-08-19 15:03) [2]

а разве не по Connection
кроме того я ставил одну таблицу а сессий было все равно две


 
Vlad   (2003-08-19 15:09) [3]

Попробуй коннект к базе не с клиента, а с сервера приложений.
Т.е. в начале каждого метода вызывай свой Connect
Возможно в этом причина.


 
Dred2k   (2003-08-19 16:32) [4]

Если юзаешь BDE, то есть такая глобальная переменная Session.
Она всегда создается и открывается, уничтожать нельзя (в хелпе все о ней есть).


 
изм   (2003-08-19 16:55) [5]

2 Vlad
на сервере приложени есть метод коннект который вызывается на клиенте, а как еще !?

2 Dred2k в BDE, насколько я понимаю глобальная переменная Session покажывает какая сессия в данный момент отображается в визуальных компонентах


 
Dred2k   (2003-08-19 17:00) [6]

> изм © (19.08.03 16:55)

В хелп залезь и все увидишь.


 
изм   (2003-08-19 17:04) [7]

вопрос решился оказалось что в методе btConnectClick нет необходимости создавать сервер, после того как открывается связь
Connection.Open сервер запускается автоматически, и устанавливает соедитение с базой при cdsCustomer.Open т.е еще раз
вылечил

DBCon.Open;
(DBCon.aPPSERVER AS ISimple).cONNECT();
далее по тексту



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
3-33527
LIK22
2003-08-19 12:49
2003.09.11
Помогите с SubString.


9-33417
zorg
2003-03-06 22:23
2003.09.11
Ну хоть в этом разделе поиогут ?


4-33850
GuestTM
2003-07-09 05:31
2003.09.11
Непонятки с POSTMESSAGE


11-33530
officeman
2003-01-03 20:30
2003.09.11
Как копировать файл занятый системой.


1-33582
Luc
2003-08-28 15:45
2003.09.11
Как получить Sender а по левому клику мышкой?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский