Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 08.06.2015, 10:34   #1
Kazik
Форумчанин
 
Регистрация: 27.05.2009
Сообщений: 192
Репутация: 20
По умолчанию Неверный путь к файлу базы

Добрый день дорогие форумчане. При написании программы возникла проблема:
База: MS Access
Технология: ADO
Используя компонент ADOConecction строю строку к базе данных. Путь указан явно (именно в папке с программой), т.е. нет разницы, где лежит программа. Программа запускается при старте Windows и сразу выдает ошибку типа: "Не могу найти файл: "путь в какую либо системную папку (как правило "system32" или "WOW64")". В чем может быть проблема?
Kazik вне форума   Ответить с цитированием
Старый 08.06.2015, 10:47   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,106
Репутация: 6385
По умолчанию

Цитата:
В чем может быть проблема?
Ну наверно путь не правильно задан или доступа нет по заданному пути
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 08.06.2015, 11:11   #3
Kazik
Форумчанин
 
Регистрация: 27.05.2009
Сообщений: 192
Репутация: 20
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну наверно путь не правильно задан или доступа нет по заданному пути
Код:

Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;
Data Source=main.mdb;
Mode=Share Deny None;
Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";
Jet OLEDB:Database Password="";
Jet OLEDB:Engine Type=5;
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;

вот строка подключения...Data Source=main.mdb; говорит о том, что базу нужно искать в папке с программой.

Последний раз редактировалось Stilet; 08.06.2015 в 14:06.
Kazik вне форума   Ответить с цитированием
Старый 08.06.2015, 12:22   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,106
Репутация: 6385
По умолчанию

Цитата:
Data Source=main.mdb; говорит о том, что базу нужно искать в папке с программой
Не-а. Говорит о том, что файл искать в текущем каталоге. А он не обязан совпадать с каталогом программы. А здесь видимо автозапуск, то он и не совпадает
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 08.06.2015, 12:33   #5
Kazik
Форумчанин
 
Регистрация: 27.05.2009
Сообщений: 192
Репутация: 20
По умолчанию

Код:

reg := tregistry.create;
  reg.rootkey := hkey_local_machine;
  reg.lazywrite := false;
  reg.openkey('software\microsoft\windows\currentversion\run', false);
  reg.writestring('Alert', application.exename); 
  reg.closekey;
  reg.free;

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

reg.writestring('Alert', ExtractFilePath(application.exename));

Kazik вне форума   Ответить с цитированием
Старый 08.06.2015, 13:08   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,106
Репутация: 6385
По умолчанию

Цитата:
может лучше так прописывать?
А в проге нормально сделать? Не считая того, что куча параметров излишни
Код:

  s:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=%smain.mdb;'+
     'Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
     'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;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';
  ADOConnection1.ConnectionString:=Format(s,[ExtractFilePath(Application.ExeName)]);

__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Путь к файлу prosto_virus Помощь студентам 4 19.02.2015 23:33
Неверный путь к файлу adr JavaScript, Ajax 0 12.01.2010 14:28
Путь к файлу Belokuraya Microsoft Office Excel 17 12.08.2009 17:30
Путь к файлу Slash Общие вопросы Delphi 3 27.11.2008 15:02
Путь к файлу Баламут Win Api 12 14.05.2008 13:27


21:43.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru