Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не находит путь 
:(
    Опции темы
Михалыч
Дата 17.8.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Подскажите, у меня программа телефонный справочник, сделан на БД Access +ADO.
Работает без глюков если программу запускать из из той папки где установлена программа ,сама БД находится в той же папке где и программа.
Но если я ставлю программу на автозагрузку,то после перезагрузки ПК программа ищет БД  по адресу:
C:\Documents and Settings\Михаил\baza.accdb
Соответственно ее там нет,и выдает ошибку.



--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
Данкинг
Дата 17.8.2009, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Путь к БД в AdoConnection какой?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Keeper89
Дата 17.8.2009, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Причины я не знаю, но то же самое наблюдается и при открытии проектов (если открыть проект с БД в уже открытой IDE). Все это возникает, если путь к БД указан относительно, при абсолютном пути я такого не замечал.


--------------------
PM MAIL WWW   Вверх
Михалыч
Дата 17.8.2009, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Цитата(Данкинг @  17.8.2009,  13:45 Найти цитируемый пост)
Путь к БД в AdoConnection какой? 


Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=Baza.accdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False




--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
m6a6g6
Дата 17.8.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.8.2009
Где: Волгоград

Репутация: нет
Всего: нет



Цитата

Соответственно ее там нет,и выдает ошибку.

Вы сами ответили на свой вопрос, а вообще плохо описана проблема, как к баз подключаетесь?

Добавлено через 5 минут и 49 секунд
Цитата

Jet OLEDB:System database="";Jet OLEDB:Registry Path="";

Тут же надо прописать имя базы и путь  smile 

Это сообщение отредактировал(а) m6a6g6 - 17.8.2009, 14:07
PM MAIL WWW ICQ Jabber   Вверх
Keeper89
Дата 17.8.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(m6a6g6 @  17.8.2009,  15:06 Найти цитируемый пост)
Тут же надо прописать имя базы и путь  smile 

Как же их прописать на стадии разработки, если база располагается динамически? (в каталоге программы, например)


--------------------
PM MAIL WWW   Вверх
Михалыч
Дата 17.8.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Цитата(m6a6g6 @  17.8.2009,  14:06 Найти цитируемый пост)
Вы сами ответили на свой вопрос, а вообще плохо описана проблема, как к баз подключаетесь?

Я же уже писал в самом начале,программа работает без проблем,проблема возникает если программа запускается через автозагрузку.Если запускать через иконку на рабочем столе ,то все работает.


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
m6a6g6
Дата 17.8.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.8.2009
Где: Волгоград

Репутация: нет
Всего: нет



Ну я делал установщик который создавал папку в папке с программой, где хранилась база. Исходя из этого можно было всегда знать где находится база данных. А в событии OnCreate подключаться к ней используя следующий путь: ExtractFilePath(Application.ExeName) +'путь к папке где располагается база'. Но есть одно НО база должна находится во вложенной папке с программой. 


Это сообщение отредактировал(а) m6a6g6 - 17.8.2009, 14:43
PM MAIL WWW ICQ Jabber   Вверх
Данкинг
Дата 17.8.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(Михалыч @  17.8.2009,  15:00 Найти цитируемый пост)
Provider=Microsoft.ACE.OLEDB.12.0...

А зачем так сложно-то? smile К тому же, там не прописано конкретного пути к БД, т.е. нечто вроде
Код

extractfilepath(application.exename)+'\Baza.accdb';

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


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
m6a6g6
Дата 17.8.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.8.2009
Где: Волгоград

Репутация: нет
Всего: нет



Ну я думаю не зачем себе все усложнять и сделать все как выше описано, а если нужна автозагрузка, то кинуть туда ярлык программы.
PM MAIL WWW ICQ Jabber   Вверх
Михалыч
Дата 17.8.2009, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Большое всем спасибо


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
Keeper89
Дата 17.8.2009, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Михалыч, а что заработало?!


--------------------
PM MAIL WWW   Вверх
Михалыч
Дата 17.8.2009, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Цитата(Keeper89 @  17.8.2009,  17:03 Найти цитируемый пост)
Михалыч, а что заработало?! 

Пока нет,но совет m6a6g6 я думаю подойдет

Цитата(m6a6g6 @  17.8.2009,  14:42 Найти цитируемый пост)
Ну я делал установщик который создавал папку в папке с программой, где хранилась база. Исходя из этого можно было всегда знать где находится база данных. А в событии OnCreate подключаться к ней используя следующий путь: ExtractFilePath(Application.ExeName) +'путь к папке где располагается база'. Но есть одно НО база должна находится во вложенной папке с программой. 







--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
m6a6g6
Дата 17.8.2009, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.8.2009
Где: Волгоград

Репутация: нет
Всего: нет



Михалыч, перед подключением советую проверять действительно ли там находится файлы базы данных, а потом уже подключаться. Если нет файлов выдавать сообщение. А то вдруг пользователь удалит базу или перенест exeшник в другое место. 

Это сообщение отредактировал(а) m6a6g6 - 17.8.2009, 21:32
PM MAIL WWW ICQ Jabber   Вверх
kami
Дата 17.8.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Господа, может я чересчур по-диагонали пробежал тему, но почему бы в качестве изменений не написать всего одну строчку, раз уж программа работает: 
Код

SetCurrentDir(ExtractFileDir(ParamStr(0)))
???

Добавлено через 1 минуту и 3 секунды
Ну, это не отменяет, конечно, 
Цитата(m6a6g6 @  17.8.2009,  21:31 Найти цитируемый пост)
Если нет файлов выдавать сообщение.


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0811 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.