Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > 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,668
Репутация: 6586
По умолчанию

Цитата:
В чем может быть проблема?
Ну наверно путь не правильно задан или доступа нет по заданному пути
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 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,668
Репутация: 6586
По умолчанию

Цитата:
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,668
Репутация: 6586
По умолчанию

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

  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


01:06.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


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