Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-38924
Владимир В.
2004-02-04 12:00
2004.02.13
Эмуляция нажатия клавиши в активное окно


3-38753
Vi0let
2004-01-21 07:38
2004.02.13
Как отсортировать таблицу через внешний ключ


1-38954
Goida
2004-02-02 17:52
2004.02.13
Грязь в округлении


14-39002
chtr
2004-01-22 07:34
2004.02.13
Иконку для D7


4-39129
Pontic
2003-12-10 12:20
2004.02.13
Имя пользователя Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский