Какой тип базы данных использовать

Форум посвящён работе с базами данных в .NET.

Модератор: Ramzes

SAS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 21.06.2005 (Вт) 0:30
Откуда: Петропавловск-Камчатский

Какой тип базы данных использовать

Сообщение SAS » 20.04.2006 (Чт) 6:47

При разработке приложения на VB 2005 мне необходимо вместе с приложением распространять базу данных, содержащую таблицы, запросы (или представления (View)), база должна работать на локальной машине, не под SQL-сервером, как шаблон для создания других баз. (При создании в программе пользователем нового документа шаблон базы копируется в указанное пользователем место с другим именем). Раньше я для таких целей использовал базу данных access, возможно ли использовать для этого какой-то другой тип, возможно ли использовать файл базы sql-сервера, который работал бы без сервера.
База Access не устраивает тем, что ее размер изменяется только в сторону увеличения. Например, если добавить в базу большую картинку, размер базы естественно увеличится, но если удалить эту картинку, размер базы не уменьшается. Если работать из под Microsoft Access с базой, то проблема решается выбором команды
Сервис-->Служебные программы-->Сжать и восстановить базу данных, может быть есть варианты - как использовать эту команду программно из VB.NET

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Какой тип базы данных использовать

Сообщение Sebas » 20.04.2006 (Чт) 9:08

SAS писал(а): как использовать эту команду программно из VB.NET


Db1,db2 -строки подключения

Код: Выделить всё

    Friend Sub CompactDb(ByVal db1 As String, ByVal db2 As String)
        Dim myType As Type
        Dim myObject As Object
        Dim arguments() As Object

        myType = Type.GetTypeFromProgID("JRO.JetEngine")
        '// Получает тип нашего COM-объекта

        myObject = Activator.CreateInstance(myType)
        ' Создаем сам объект

        'arguments = New Object() {"c:\sc.dll", dbLangCyrillic & ";pwd=sc"}
        arguments = New Object() {db1, db2}
        ' Аргументы нашего метода

        myType.InvokeMember("CompactDatabase", Reflection.BindingFlags.InvokeMethod, Nothing, myObject, arguments)
        ' Аргументы нашего метода - строка и число, всего две штук

        'System.Runtime.InteropServices.Marshal.ReleaseComObject(myDbObject)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(myObject)

    End Sub
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 20.04.2006 (Чт) 9:19

Насчёт типа, если пользователь хавает базу только локально, то аксеса хватит, если по сети, скул однозначно.

Да, и шаблон базы, это встревалово! Сделай процедуру, которая создаёт базу с нуля.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

SAS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 21.06.2005 (Вт) 0:30
Откуда: Петропавловск-Камчатский

Сообщение SAS » 21.04.2006 (Пт) 0:57

Спасибо за код.
Насчёт типа, если пользователь хавает базу только локально, то аксеса хватит, если по сети, скул однозначно.

Значит буду использовать access.
Да, и шаблон базы, это встревалово! Сделай процедуру, которая создаёт базу с нуля.

Я сделал шаблон только изза недостатка времени. Сдам первую версию, буду думать как избавиться от шаблона и создавать базу программно.

SAS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 21.06.2005 (Вт) 0:30
Откуда: Петропавловск-Камчатский

Сообщение SAS » 21.04.2006 (Пт) 10:31

Еще вопрос: а чем заменить ADODB.Stream при использовании VB.NET?

Или, по другому: как с помощью ADO.NET читать двоичные данные из базы (типа картинок)

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 21.04.2006 (Пт) 12:59

считай таблицу и посмотри тип данных)
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

FAER
Бывалый
Бывалый
 
Сообщения: 232
Зарегистрирован: 22.04.2006 (Сб) 22:56
Откуда: Россия

Сообщение FAER » 23.04.2006 (Вс) 13:11

Вопрос в тему - как создать динамический набор записейбез использования операторов sql, типа SLECT....

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 23.04.2006 (Вс) 17:11

Тип команды - Table
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

SAS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 21.06.2005 (Вт) 0:30
Откуда: Петропавловск-Камчатский

Сообщение SAS » 03.05.2006 (Ср) 7:01

еще вопрос:
а как программно в vb 2005 можно поместить(удалить, заменить) изображение в базу, я чтото не соображу-в vb 6 со stream работал, а в какую сторону здесь идти?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 03.05.2006 (Ср) 11:58

Byte() или String(Сериализация)
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

vit.b
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 10.06.2006 (Сб) 16:29

Сообщение vit.b » 28.06.2006 (Ср) 20:31

А как насчет SQLite? То что тебе и нужно было без SQL....


Вернуться в ADO.NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList