Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: CL | DM;

Вниз

Создание БД программно   Найти похожие ветки 

 
Pavel_P   (2004-01-20 18:35) [0]

Уважаемые господа! Сразу прошу прощения за такой ламерский вопрос, но всё же... Мне необходимо написать программу, которая САМА создаёт реляционную базу данных (в простейшем случае - локальную), которую затем можно использовать (добавлять/удалять записи, устанавливать пароль и т.п.). Вопрос: какие стандартные компоненты Delphi использовать для этого, чтобы не потребовалось установки дополнительного ПО типа BDE или MS SQL Server?.. заранее благодарен


 
Семен Сорокин ©   (2004-01-20 19:23) [1]

Наверное можно попробовать организовать все через ADO. Например, если будет использоваться Access, то это, имхо, лучший вариант.


 
sniknik ©   (2004-01-20 21:11) [2]

что не используй а устанавливать чтото придется(если по хорошему, чтобы 100% весде работало), или таскать все с собой (в коде самой программы к примеру).
из стандартных только ClientDataSet по моему это позволяет (я не про базу я про таблицы).


 
Danilka ©   (2004-01-21 08:50) [3]

Если не ошибаюсь, среди стандартных компонент дельфи нет ни одной СУБД, так что "дополнительное ПО" ввиде СУБД все-же потребуется. :))


 
Vemer ©   (2004-01-21 10:20) [4]

Yaffil Personal как вариант, только 1,7м (3 DLL), не требует установки, бесплатен + возможности перехода на сеть если что...


 
Pavel_P   (2004-01-22 11:25) [5]

...извиняюсь, что спрашиваю с запозданием (были причины)... если через ADO-компоненты, то там можно будет и создать базу или только непосредственно открыть созданную ранее?.. где можно взять "Yaffil Personal"?


 
sniknik ©   (2004-01-22 11:33) [6]

ADO это средство доступа, а не сама база. все возможности жестко зависят от провайдера, у когото базу создать можно, у когото нельзя, и нужны сторонние/внешние средства.


 
paul_k ©   (2004-01-22 11:36) [7]

создать базу - "Create Database" синтаксис зависит от выбранной СУБД
"непосредственно открыть созданную ранее"
"REstore Database" синтаксис зависит от выбранной СУБД
например в SYBASE ASE это выглядит как
load database <имя базы> from <имя файла>
go
online database <имя базы>
go

В MSSQL чуть посложнее (см. BOL)
В Access достаточно положить файл с нужным именем по указанному пути (или поправить строку подключения к базе)
в IB по моему тоже достаточно имени и пути к базе


 
sniknik ©   (2004-01-22 11:47) [8]

Access,IB - вот вот, готовую базу, а создание через ADO не получится (в первом случае для создания можно использовать jro, во втором компонент дельфи IBDatabase)


 
paul_k ©   (2004-01-22 11:54) [9]

а разве в IB нельзя через ISQL выполнить скрипт "CREATE DATABASE"?
не верю.


 
Danilka ©   (2004-01-22 11:55) [10]

[9] paul_k © (22.01.04 11:54)
дык, проверь. :))
я только-что проверил :))


 
paul_k ©   (2004-01-22 11:59) [11]

2 Danilka
сложно проверить. IB не установлен.
поделись уж результатом...


 
Danilka ©   (2004-01-22 12:04) [12]

[11] paul_k © (22.01.04 11:59)
нет, нельзя.
в принципе, ничто не мешает написать такой драйвер, который предварительно сам будет парсить запрос, и если встретит create database, то сам по-нему отработает как надо, но я такие не встречал.

кроме того, есть свои подводные камни: когда, например, в mssql я делаю create database, то база создается мс-скулем в определенной папке, а в IB может файл БД быть где угодно.


 
Pavel_P   (2004-01-22 12:07) [13]

...понятно... А если вопрос поставить так: "какие компоненты Дэльфи использовать, чтобы в программе можно было создать базу"... если например, установить BDE, то тогда можно будет создавать БД используя компоненты палитры BDE?//


 
paul_k ©   (2004-01-22 12:09) [14]

2 Danilka
через ISQL выполнить скрипт имелось в виду
запустить через WinExec к примеру ISQL.EXE с соответствующим набором параметров, в числе которых текстовый файл с запросом на создание БД
Если в IB это не работает то зачем там вообще ISQL.EXE наличиствует?


 
Mamed ©   (2004-01-22 12:10) [15]

Esli xoches Dlya SQL servera otpravlyu programmu s soursom


 
paul_k ©   (2004-01-22 12:11) [16]

Создавать базу нужно средствами сервера баз данных. А вот задействовать эти средства можно как руками так и из твоей программы


 
Danilka ©   (2004-01-22 12:14) [17]

[14] paul_k © (22.01.04 12:09)
Извини, я не заметил про ISQL. :))
Да, действительно, так можно, но ISQL это далеко не АДО.


 
sniknik ©   (2004-01-22 12:17) [18]

Pavel_P (22.01.04 12:07) [13]
ты лутше поставь вопрос так, мне нужно ...(подробное описание)... как и какими методами это можно сделать, что начинать учить.
а на вопросы в "общем" ответов не существует.

с точки зрения локальных баз (и BDE тоже), база это каталог в котором держатся таблицы. создавать каталоги средствами БД тоже как то не с руки, хотя делается элементарно.


 
Pavel_P   (2004-01-22 12:20) [19]

всем спасибо...Mamed... отправь, если не сложно... (мой мэйл есть на форуме)


 
paul_k ©   (2004-01-22 12:21) [20]

2 Danilka
но это же есть почти универсальное решение для программного создания базы данных со структурой или подключения (загрузки из бекапа) существующей базы.
Почти универсальное - потому что работает с серверами данных
А создавать базу через АДО ,имхо, это уже слишком через.. хмм... пятую точку



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

Текущий архив: 2004.02.13;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.041 c
14-38999
syte_ser78
2004-01-22 09:00
2004.02.13
Siemens A50


14-39043
ИМХО
2004-01-26 02:24
2004.02.13
Наушники <-> колонки


1-38932
MakNik
2004-02-04 10:09
2004.02.13
Отображение формы в форме


1-38794
Крутыш
2004-02-03 13:19
2004.02.13
Проблемы с MdI-приложением


1-38792
AlexeyITN
2004-02-03 13:14
2004.02.13
Запрет повторного запуска и активизация 1-ого экземляра