Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 0
Регистрация: 19.04.2014
Сообщений: 36
1

Инсталлятор для проекта, в котором будет храниться путь к БД

10.06.2014, 18:44. Просмотров 1482. Ответов 15
Метки нет (Все метки)

Ещё раз всем привет.
Возник вопрос. Моя программа обращается к БД с помощью ADOConnection. Можно ли сделать инсталятор программы, где я буду указывать где моя БД находится. Вообщем в Object Inspector "заполнить" поле "ConnectoinString"
Это реально?
По факту я хочу сделать универсальную программу, которую не нужно будет постоянно компилить если БД перенесли в другое место.
Читал другие темы. Скачал Smart Install Maker , но я не нашёл чего хотел.
Если можно подробнее описать процесс
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2014, 18:44
Ответы с готовыми решениями:

Создать класс, в котором информация будет храниться в хеше.
А подскажите еще, мне нужно создать класс , в котором в хеше будет храниться информация, ее...

Комментарии. Создать модуль, в котором будет храниться процедура создания картинки
Привет всем! помогите с комментариями к программе пожалуйста... Создайте модуль, в котором будет...

Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.?
Такой вопрос: я хочу создать одномерный массив в котором с 0 по 4 элемент будут храниться double, с...

Создайте модуль, в котором будет храниться процедура создания следующей картинки. Используя модуль, поместите картинку по углам экрана и в центре.
Помогите пожалуйста Создайте модуль, в котором будет храниться процедура создания следующей...

15
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
10.06.2014, 19:08 2
Цитата Сообщение от Akless Посмотреть сообщение
Можно ли сделать инсталятор программы, где я буду указывать где моя БД находится. Вообщем в Object Inspector "заполнить" поле "ConnectoinString"
Это реально?
А почему не кодом при первом запуске приложения?
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
10.06.2014, 19:53 3
Akless, в ini файле легко хранить такие настройки
0
2 / 2 / 0
Регистрация: 19.04.2014
Сообщений: 36
10.06.2014, 23:45  [ТС] 4
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
А почему не кодом при первом запуске приложения?
Не совсем понял, это как?
Цитата Сообщение от _Dimon_ Посмотреть сообщение
в ini файле легко хранить такие настройки
А можете подробнее описать про это? И всё равно задача "как пользователю указать какая или где(Источники данных ODBC) БД находится" осталась.Или нет? Увы, но я не знаком с ini файлами и что они делают.
В идеале было бы круто чтобы прям то окно "ConnectoinString" было показано и такой же выбор из провайдеров.
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
11.06.2014, 05:50 5
Цитата Сообщение от Akless Посмотреть сообщение
Увы, но я не знаком с ini файлами и что они делают.
INI - Загрузка и сохранение настроек

Куда прикрутить окно для ввода ConnectoinString думай сам.
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
11.06.2014, 06:50 6
Цитата Сообщение от Akless Посмотреть сообщение
Не совсем понял, это как?
1.Нарисовать диалог соединения с базой.
По результатам его работы динамически построить ConnectionString.

Если лень рисовать свой диалог -

2.В инсталлятор включить udl файл, при первом запуске запустить его редактирование через

C++
1
ShellExecute(0,"open","test.udl", NULL,NULL,SW_SHOW)
0
Модератор
6567 / 4204 / 1818
Регистрация: 21.01.2014
Сообщений: 17,643
Записей в блоге: 3
11.06.2014, 08:57 7
А почему не так?
На форме кнопка для выбора базы и компонент OpenDialog
C++
1
2
3
4
5
6
if(OpenDialog1->Execute())
 {
    String s = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + OpenDialog1->FileName + ";Persist Security Info=False";
    ADO1->ConnectionString = s;
    ADO1->Connected;
 }
ADO1 -- TADOConnection
Строка ConnectionString для подключения БД Access
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
11.06.2014, 09:02 8
D1973, это все хорошо, но нужно где-то хранить потом этот путь, а то придется при каждом запуске программы выбирать откуда открыть
0
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
11.06.2014, 09:03 9
Цитата Сообщение от _Dimon_ Посмотреть сообщение
D1973, это все хорошо, но нужно где-то хранить потом этот путь, а то придется при каждом запуске программы выбирать откуда открыть
В ini файле или любом другом текстовике с произвольным расширением )
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
11.06.2014, 09:03 10
потому я написал ТС про ини файл

Как вариант хранить базу в папке с программой и не забивать себе мозг
0
Модератор
6567 / 4204 / 1818
Регистрация: 21.01.2014
Сообщений: 17,643
Записей в блоге: 3
11.06.2014, 09:07 11
_Dimon_, само собой. Где хранить - не суть важно: хоть ini, хоть реестр, да хотя бы обыкновенный текстовый файл рядом с ехе-шником. А еще проверки сделать при старте программы
1.на наличие файла / ключа реестра с настройками
2. Если они есть - на наличие файла БД.
3. Если нет того или другого - тогда уже принудительно ОпенДиалог
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
11.06.2014, 09:46 12
Цитата Сообщение от _Dimon_ Посмотреть сообщение
Как вариант хранить базу в папке с программой и не забивать себе мозг
Плохой вариант - в каталоге установки по умолчанию рядовой юзверь не имеет прав на запись.
0
Модератор
6567 / 4204 / 1818
Регистрация: 21.01.2014
Сообщений: 17,643
Записей в блоге: 3
11.06.2014, 11:04 13
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
рядовой юзверь не имеет прав на запись
Дык ведь нет никакой необходимости лепить программу куда-нибудь типа Program Files, где у пользователя, действительно, не будет прав.
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
11.06.2014, 11:22 14
Цитата Сообщение от D1973 Посмотреть сообщение
Дык ведь нет никакой необходимости лепить программу куда-нибудь типа Program Files
Дык он же не спросит. И не прочитает. Просто тупо жамкнет Next. 99.9 % пользователей поставит программу по в путь умолчанию. Выбирать дефолтный путь установки отличный от Program Files идея еще более нездоровая
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
11.06.2014, 11:26 15
uglyPinokkio, а кто говорит, что в инсталяторе обязательно настраивать дефолтный путь Program Files ?
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
11.06.2014, 11:49 16
Цитата Сообщение от _Dimon_ Посмотреть сообщение
а кто говорит, что в инсталяторе обязательно настраивать дефолтный путь Program Files ?
Не обязательно. Но в таком случае надо убедиться, что настроенный дефолтный путь валидный на целевой системе и у юзверя есть права записи по этому пути. И того - потенциальный головняк есть, поскольку первый логический диск к примеру не у всех C:. Выхлоп нулевой, поскольку гарантированно проблему не решает.
Второй, чуть менее кривой, вариант - при установке сменить права доступа в каталоге приложения. Кривой - потому что молча опускать уровень настроек безопасности как-бы не очень хорошо.

Нормальный вариант - размещать данные в профиле пользователя %APPDATA% либо в общем %ALLUSERSPROFILE%.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2014, 11:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание окна, в котором можно будет указать путь до файла
Требуется создать для задачи окно, в котором пользователь сможет выбрать файл, где лежат исходные...

Определить расстояние, на котором будет находиться мужчина после 100-го этапа от дома и общий путь
"Странный муж" . Некий мужчина отправляется на работу, которая находится на расстоянии 1 км от...

Автоматическое прикрепление файла, путь к которой храниться в ячейке
Добрый день, уважаемые знатоки. Имеется база данных людей с ячейками: ФИО, путь к файлу фотографии....

дан массив целых чисел в котором храниться 20 тысяч элементов
дан массив целых чисел в котором храниться 20 тысяч элементов.Найти в массиве первый минимальный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.