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

Вниз

Копия TDatabase   Найти похожие ветки 

 
Алексей Петухов   (2005-07-24 09:05) [0]

Здравствуйте, уважаеме мастера.

Подскажите как можно создать рабочую копию компонента TDataBase, если имеется Указатель ввиде Integer на исходный компонент?
Так чтобы копия была полностью идентичной оригиналу (параметры, алиас логин, пароль и т.д.)

Есть необходимость вызвать из одного приложения другое, которое будет работать с той-же бд. Но первое может быть завершено без взаимовлияний с вызванным.


 
Leonid Troyanovsky ©   (2005-07-24 09:18) [1]


> Алексей Петухов   (24.07.05 09:05)  
> Здравствуйте, уважаеме мастера.
>
> Подскажите как можно создать рабочую копию компонента TDataBase,
> если имеется Указатель ввиде Integer на исходный компонент?
> Так чтобы копия была полностью идентичной оригиналу (параметры,
>
>
> Есть необходимость вызвать из одного приложения другое,
> которое будет работать с той-же бд. Но первое может быть
> завершено без взаимовлияний с вызванным.


Нужно передать алиас логин, пароль и т.д. другому
приложению путем к.л. IPC: pipes, WM_COPYDATA, memory mapped file etc. или хоть в комстроке.

--
Regards, LVT.


 
msguns ©   (2005-07-24 12:58) [2]

В этом случае, имхо, наверное грамотнее говорить не о "копии" TDataBase, а об указателе на активную и открытую БД. А если так, то для правильного ответа надо бы знать тип используемой БД ("локалка", SQL-сервер етц)


 
DrPass ©   (2005-07-24 17:07) [3]


> а об указателе на активную и открытую БД.

В любом случае, ты же не будешь передавать в другое приложение какой-либо указатель или даже дескриптор соединения с БД. Нужно передавать только параметры соединения - логин, пароль etc.


 
just_me   (2005-07-24 18:55) [4]

Создать во втором (дочернем) приложении экземпляр TDataBase и его сврйству Hahdle присвоить Hahdle от TDataBase первого приложения. Таким образом, например, решается проблема передача открытого в приложении соединения в DLL


 
Ученик   (2005-07-24 21:20) [5]

>just_me   (24.07.05 18:55) [4]
А DLL и другое приложение понятия одного уровня (в плане Handle) ?


 
Юрий Зотов ©   (2005-07-25 03:57) [6]

Создать TMemoryStream, сделать в него WriteComponent. Второму приложению передать ID процесса, адрес и размер потока. Второе  делает ReadProcessMemory и ReadComponent, затем посылает первому сообщение. Получив его, первое убивает поток.


 
Алексей Петухов   (2005-07-25 08:38) [7]


> msguns ©  

Тип БД - MSSQL server. Локальный или Обычный


 
msguns ©   (2005-07-25 09:50) [8]

>Алексей Петухов   (25.07.05 08:38) [7]
>Тип БД - MSSQL server. Локальный или Обычный

Вопрос №2

"Второе" приложение :
а) только читает
б) только пишет
с) пишет и читает

Насколько важно запросы основного и "второго" приложения выполнять в контексте одной транзакции ?

И вообще, если можно, поподробнее о логике приложения в целом.


 
Алексей Петухов   (2005-07-25 12:35) [9]

Второе приложение пишет и читает.

Транзакции не критичны.

Второе приложение - это динамическая справочная система (в том числе контекстно-зависимая) к первому пиложению.


 
msguns ©   (2005-07-25 12:50) [10]

>Алексей Петухов   (25.07.05 12:35) [9]
>Транзакции не критичны.
>Второе приложение - это динамическая справочная система (в том числе контекстно-зависимая) к первому пиложению.

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

Если нельзя интерфейс со справочником оформить как форму, то нужно "согласовать" оба этих приложения. Либо через общий интерфейс либо через вынос всей логики БД в отдельное приложение (Application Server).

Попутно вопрос: чем вызвано использование BDE (TDataBase) при работе с MSSQL ? Чем не устроил ADO+Jet ?

ЗЫ. Вопрос, имхо, больше в тему "Базы".



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
3-1121091888
Виталька2005
2005-07-11 18:24
2005.09.04
Где найти бесплатную СУБД ?


1-1124110639
tormoz
2005-08-15 16:57
2005.09.04
Видимость отдельных закладок в TabbedNotebook


1-1123752286
.ruslan
2005-08-11 13:24
2005.09.04
Memo без использования “Enter”


14-1123680424
oldman
2005-08-10 17:27
2005.09.04
А за слоганом не уследили...


1-1124171980
~ShamaN~
2005-08-16 09:59
2005.09.04
ComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский