Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание БД программно


Pavel_P ©   (2004-01-20 18:35:00) 

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


paul_k   (2004-01-22 12:21:00) [1]

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


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

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


sniknik   (2004-01-22 12:17:00) [3]

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

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


Danilka   (2004-01-22 12:14:00) [4]

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


paul_k   (2004-01-22 12:11:00) [5]

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


Mamed   (2004-01-22 12:10:00) [6]

Esli xoches Dlya SQL servera otpravlyu programmu s soursom


paul_k   (2004-01-22 12:09:00) [7]

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


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

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


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

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

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


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

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


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

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


paul_k   (2004-01-22 11:54:00) [12]

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


sniknik   (2004-01-22 11:47:00) [13]

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


paul_k   (2004-01-22 11:36:00) [14]

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

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


sniknik   (2004-01-22 11:33:00) [15]

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


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

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


Vemer   (2004-01-21 10:20:00) [17]

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


Danilka   (2004-01-21 08:50:00) [18]

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


sniknik   (2004-01-20 21:11:00) [19]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо