Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 370
от 21.07.2007, 19:05

Администратор:Gh0stik
В рассылке:Подписчиков: 333, Экспертов: 39
В номере:Вопросов: 3, Ответов: 9


Вопрос № 95224: Подскажите,как можно в Delphi 6 зделать так,что бы путь в команде WinExeC('здесь прописывается путь к exe-файлу' , SW_RESTORE) пользователь мог сам задовать, домустим в компоненте Edit и путь сохранялся? Подскажите,плиз!...
Вопрос № 95304: Работаю с dbf–файлами (dbf IV). Как программно упаковать таблицу (т.е. реально удалить записи, в DataBase Desktop ставиться галочка возле Pack Table)?...
Вопрос № 95334: Уважаемые Эксперты! Возникла следующая очень затруднительная ситуация... Необходимо написать программу, которая будет обрабатывать данные. необходимые данные логически можно разделить на 2 базы данных. Исходя из своих знаний задача была решен...

Вопрос № 95.224
Подскажите,как можно в Delphi 6 зделать так,что бы путь в команде
WinExeC('здесь прописывается путь к exe-файлу' , SW_RESTORE) пользователь мог сам задовать, домустим в компоненте Edit и путь сохранялся?

Подскажите,плиз!
Отправлен: 15.07.2007, 21:29
Вопрос задал: Хакеров Алексей Андреевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Виктор Пырлик
Здравствуйте, Хакеров Алексей Андреевич!

В приложении полный код программы. Для того, что бы он "просто" заработал - разместите на форме TEdit два TButton (имя: btnOpenFile и у второго btnExecFile)
и компонент TOpenDialog.
Сохранять будетв реестре (от туда и загружать)

Приложение:

---------
Если ничего не помогло - надо читать инструкцию

Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 15.07.2007, 22:32


Вопрос № 95.304
Работаю с dbf–файлами (dbf IV). Как программно упаковать таблицу (т.е. реально удалить записи, в DataBase Desktop ставиться галочка возле Pack Table)?
Отправлен: 16.07.2007, 14:56
Вопрос задал: ALEXEY (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Виктор Пырлик
Здравствуйте, ALEXEY!

Упаковка таблиц dBASE требует вызова BDE функции DbiPackTable. Пример ее использования показан в приложении, включая проверку на ошибки. Чтобы воспользоваться функцией DbiPackTable, вызывающий модуль должен в своей секции uses иметь модули-обертки BDE DbiTypes, DbiErrs и DbiProcs.

При неудачном вызове DbiPackTable, сообщение об ошибке не генерится. Для того, чтобы понять как функция сработала, вам необходимо проверить возвращаемое ею значение. В случае успешного выполнения возвращаемое значение равно DBIERR_NONE. Любое другое значение указывает на ошибку, а с помощью него можно определить саму ошибку, ее причину, и наметить действия, необходимые для ее устранения.

Приложение:

---------
Если ничего не помогло - надо читать инструкцию

Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 16.07.2007, 15:07
Оценка за ответ: 5
Комментарий оценки:
хороший ответ


Вопрос № 95.334
Уважаемые Эксперты!
Возникла следующая очень затруднительная ситуация...
Необходимо написать программу, которая будет обрабатывать данные. необходимые данные логически можно разделить на 2 базы данных. Исходя из своих знаний задача была решена средствами BDE, но возникла проблема с переносом это программы... пакет БДЕ для клиентской машины решился... но на его место пришел другой:
- Можно ли сделать программу, работающую с базой данных так, чтоб перенос ПО не требовал установки каких-либо драйверов на машине пользователя.
P.S.: Вариант использования Аксеса неприемлем. т.к. требует его наличия у пользователя (если я нече не путаю).

Приложение:

Отправлен: 16.07.2007, 18:55
Вопрос задал: Василенко Алексей Васильевич (статус: 3-ий класс)
Всего ответов: 7
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Shveps
Здравствуйте, Василенко Алексей Васильевич!
Хорошо зарекомендоваля себя технология ADO. Все драйвера и провайдеры данных уже есть Windows. Пакет MDAC можно обновить до версии 2.9. Хотя в W2000 он уже этой версии.
---------
Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 3-ий класс)
Ответ отправлен: 16.07.2007, 20:38

Отвечает: Архангельский Андрей Германович
Здравствуйте, Василенко Алексей Васильевич!
Используйте СУБД Firebird - бесплатная, маленькая, практически не требует администрирования. В качестве компонентов доступа - IBX (вкладка Interbase) в Delphi7 и никаких драйверов.
Кроме того Firebird Прекрасно работает в сети и на CD.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 16.07.2007, 21:03

Отвечает: Виктор Пырлик
Здравствуйте, Василенко Алексей Васильевич!

Технология BDE безнадежно устарела, не только как не отвечающая современным требованиям организации информационного пространства, но и сами драйверы уже часто работают не корректно или не удовлетворительно. К тому же, с проблемой распространения ПО вы столкнулись сами.
Следовательно, выбор приходится на технологию «клиент-сервер». Access не является СУБД этой технологии, хотя, можно организовать и такую архитектуру. Но, данный формат подходит к небольшим по объему данных и с малой интенсивностью обращений.
Можно выбрать Intebase/Firebird – в частности Firebird, как свободную, экономичную, не требующею администрирования, быструю, многоплатформенную, соответствующую стандарту SQL 99 СУБД. К тому же, Delphi имеет «родные» компоненты для работы с этой системой БД.
Или, выбрать технологию ADO, и в частности, использовать MS SQL (вполне подойдет 2000 версия, или Express Edition 2005 – свободно распространяемая). Привлекательность такого выбора в том, что, для Windows это «родная» система и следовательно, проблем с подключением вашего приложения нет как и интеграции например, в MS Office (например, Excel).
Другие варианты СУБД я не рассматриваю, по причине сложности их реализации средствами Delphi.
-----------------------------------------------
С учетом затрат на разработку и сопровождение, а также стоимость продуктов, я бы рекомендовал СУБД Firebird. Перенос приложения практически будет «безболезненным». Для распростронения ПО будет достаточно одного «ехешника». Таким образом, ответ на ваш ворос - переносите базу данных на Firebird и все указаные вами проблемы снимуться.

PS: У меня сомнения, в необходимости имено 2-х баз. Возможно имеет смысл пересмотреть организацию БД. Напишите мне - я постораюсь помочь.
---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 16.07.2007, 21:52

Отвечает: Igor_
Здравствуйте, Василенко Алексей Васильевич!

Я тоже порекомендую Firebird.

Для того, чтобы заработал клиент, Вам будет достаточно положить в папку с программой только один файл gds32.dll - и все будет работать, ничего устанавливать не нужно.
Ответ отправил: Igor_ (статус: 3-ий класс)
Ответ отправлен: 17.07.2007, 10:02

Отвечает: Примак Руслан Николаевич
Здравствуйте, Василенко Алексей Васильевич!

Хотел бы добавить к предыдущим ответам по Firebird, есть Firebird Embedded, который позволяет осуществлять все функции сервера и клиента БД без какой либо установки, все файлы располагаются в директории приложения.

Также могу вам посоветовать DBISAM. Тоже, не требует установки.

Краткое сравнение:

Опция Firebird Emb DBISAM

Защита паролем Нет Да, защита каждой таблицы отдельным
паролем, плюс шифрование

UDF, Хранимые Да Нет
процедуры, Events,
триггеры
Ответ отправил: Примак Руслан Николаевич (статус: 3-ий класс)
Ответ отправлен: 17.07.2007, 11:49

Отвечает: Маренич Владимир
Здравствуйте, Василенко Алексей Васильевич!

На сколько я понял, то Вам не нужна супер СУБД на SQL. Можете попробовать в таком случае работать с форматом DBF без каких-либо драйверов. Есть такой компонент TDBF (http://sourceforge.net/projects/tdbf). Он полностью совместим с TDataSet и поэтому внедрить вместо BDE-шных не составит труда.
Если надо что-то помощнее, то придется-таки ставить у пользователей Firebird...
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 17.07.2007, 12:40

Отвечает: Delph
Здравствуйте, Василенко Алексей Васильевич!

В дополнение к вышесказанному могу порекомендовать ещё одну СУБД: PostgreSQL. Я не могу сказать, что PostgreSQL однозначно лучше, чем Firebird, впрочем и обратное тоже вряд ли обоснуют. Лично мне PostgreSQL понравился больше, хотя разобраться с ним оказалось сложнее. Если я Вас заинтересовал, скачивайте PostgreSQL с
http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fbinary%2Fv8.2.4%2Fwin32%2Fpostgresql-8.2.4-1.zip
(около 25 мегабайт).
Если же Вы всё-таки предпочитаете Firebird, то Вам понадобится ещё IB Expert для удобного управления как самой СУБД, так и базами данных (можно, конечно, обойтись и без IB Expert, но тогда жизнь Вам покажется кошмаром).
По всем вопросам с установкой и дальнейшей разработкой готов помочь.

P.S. Обе упомянутые СУБД распространяются свободно, т.е. Вам не придётся делать никаких отчислений, не считая обычного трафика Internet.
Ответ отправил: Delph (статус: 4-ый класс)
Ответ отправлен: 17.07.2007, 15:50


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное