Форум: "Базы";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
ВнизСоздание БД программно Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c