![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание БД программно
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, то это, имхо, лучший вариант.