Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.10.2019, 23:16
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 89
Версия Delphi: Delphi7
Репутация: 10
По умолчанию Delphi 7 и Access 2010

Здравствуйте! Какого поставщика OLE DB выбрать в выборе подключаемых данных, если база и таблицы созданы в access 2010?
Ответить с цитированием
  #2  
Старый 08.10.2019, 13:23
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Адрес: Город на Бире
Сообщения: 308
Версия Delphi: XE7, 10.3
Репутация: 429
Сообщение

Microsoft.ACE.OLEDB.12.0
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #3  
Старый 08.10.2019, 16:33
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 89
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Kailon
Microsoft.ACE.OLEDB.12.0
А где он в списке подключаемых данных? Не найду.
Ответить с цитированием
  #4  
Старый 09.10.2019, 15:14
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Адрес: Город на Бире
Сообщения: 308
Версия Delphi: XE7, 10.3
Репутация: 429
Сообщение

Цитата:
Сообщение от Maks19
...если база и таблицы созданы в access 2010?
Я даже представить не могу, чтоб БД была создана где-то, а таблицы для неё в другом месте. Ну, да ладно

Цитата:
Сообщение от Maks19
А где он в списке подключаемых данных? Не найду.
А с помощью чего подключаетесь к БД? Если ADOConnection, что является самым простым, то в ConnectionString
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #5  
Старый 09.10.2019, 20:52
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 89
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Kailon
Я даже представить не могу, чтоб БД была создана где-то, а таблицы для неё в другом месте. Ну, да ладно


А с помощью чего подключаетесь к БД? Если ADOConnection, что является самым простым, то в ConnectionString
Выбрал этот вариант. У меня ошибка при проверке соединения: Не выполнена проверка соединения из-за ошибки при инициализации поставщика. Не удается найти файл....
В источнике данных указал путь где находится созданная база.
Ответить с цитированием
  #6  
Старый 09.10.2019, 23:42
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Адрес: Город на Бире
Сообщения: 308
Версия Delphi: XE7, 10.3
Репутация: 429
Сообщение

Показывай, что ты там указал.
При использовании БД на Access я делаю так:
Код:
//при создании формы
procedure TDM.DataModuleCreate(Sender: TObject);
var
  PathExe: String;
begin
//извлекаем путь запуска программы
  PathExe := ExtractFilePath(Application.ExeName);
//подставляем полученный путь и название БД в ConnectionString
  ADOConnect.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;' +
                                   'Data Source=' + PathExe + '\MLBase.accdb;' +
                                   'Persist Security Info=False';
//открываем соединение
  ADOConnect.Connected := True;
end;
Таким образом у нас нет жесткой привязки к пути. Главное чтобы файл-БД лежал рядом с программой. А еще, я бы порекомендовал посмотреть в сторону SQLite.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #7  
Старый 10.10.2019, 22:15
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 89
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Kailon
Показывай, что ты там указал.
При использовании БД на Access я делаю так:
Код:
//при создании формы
procedure TDM.DataModuleCreate(Sender: TObject);
var
  PathExe: String;
begin
//извлекаем путь запуска программы
  PathExe := ExtractFilePath(Application.ExeName);
//подставляем полученный путь и название БД в ConnectionString
  ADOConnect.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;' +
                                   'Data Source=' + PathExe + '\MLBase.accdb;' +
                                   'Persist Security Info=False';
//открываем соединение
  ADOConnect.Connected := True;
end;
Таким образом у нас нет жесткой привязки к пути. Главное чтобы файл-БД лежал рядом с программой. А еще, я бы порекомендовал посмотреть в сторону SQLite.
Выбрал второй пункт из списка поставщиков OLE DB, в источнике данных указал путь где находится созданная база. при создании базы в access ,тип файла указал "Базы данных Microsoft Access 2007".
Ответить с цитированием
  #8  
Старый 11.10.2019, 13:25
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Адрес: Город на Бире
Сообщения: 308
Версия Delphi: XE7, 10.3
Репутация: 429
Сообщение

Цитата:
Сообщение от Maks19
Выбрал второй пункт из списка поставщиков OLE DB...".
Вот ты думаешь у всех список поставщиков данных одинаковый?
Цитата:
Сообщение от Maks19
в источнике данных указал путь где находится созданная база
А вот после выполнения всех этих действий можно показать, что получилось в ConnectionString?
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #9  
Старый 11.10.2019, 17:57
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 89
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Kailon
Вот ты думаешь у всех список поставщиков данных одинаковый?

А вот после выполнения всех этих действий можно показать, что получилось в ConnectionString?
Вот это:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database2;Persist Security Info=False
Ответить с цитированием
  #10  
Старый 12.10.2019, 01:44
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Адрес: Город на Бире
Сообщения: 308
Версия Delphi: XE7, 10.3
Репутация: 429
Сообщение

Цитата:
Сообщение от Maks19
Вот это:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database2;Persist Security Info=False
А должно быть вот это:
Код:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\Documents\Database2.accdb;Persist Security Info=False
При настройке ADOConnection в источнике данных указывается полный путь к файлу вместе расширением, например: "d:\Documents\Database2.accdb".
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.

Последний раз редактировалось Kailon, 12.10.2019 в 01:46.
Ответить с цитированием
Этот пользователь сказал Спасибо Kailon за это полезное сообщение:
Maks19 (13.10.2019)
  #11  
Старый 17.10.2019, 08:09
Master_Crazy Master_Crazy вне форума
Прохожий
 
Регистрация: 17.10.2019
Сообщения: 1
Версия Delphi: Delphi XE4
Репутация: 10
По умолчанию

Цитата:
Сообщение от Maks19
Здравствуйте! Какого поставщика OLE DB выбрать в выборе подключаемых данных, если база и таблицы созданы в access 2010?
1- You must insert TADOconnection contron in your Form (search in Tool palette in bottom right in IDE).
2- Select ADOconnection1 in your Form, right click for show menu, then select Edit ConnectionString -> click Build... button -> Microsoft Office 12.0 Access Database Engine OLE DB Provider -> Next>>
3 - Fill Data Source: with full path of databse.
Uncheck Blank password and Input your Access Database password if have (default is blank)
4- Click button Test Connection. If successed click OK for finish
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter