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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.09.2014, 12:58
id2014 id2014 вне форума
Прохожий
 
Регистрация: 05.09.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Открытие базы данных Pervasive

Прошу помочь с чтением информации из баз данных Pervasive.

Использую Delphi 7
Базы данных работают под управлением Pervasive SQL 2000i SP4.
Каждая база данных состоит из двух файлов:
<имя базы>.dt - размер до 10 Кб.
<имя базы>.btv - размер от 50 до 700 Мб.

Нужно из программы Delphi считывать из базы данных заданные поля.
И нужно чтобы программа запускалась на компьютерах, на которых не установлены Pervasive и BDE.

У меня так получилось сделать для баз данных .dbf используя компоненты ADOConnection, ADOTable и DataSource как описано во второй части этого примера
http://gkb29asu.ucoz.ru/publ/program...delphi/9-1-0-9

Можно ли таким способом получить доступ к базам данных Pervasive?
Если можно, подскажите что нужно написать в свойстве ADOConnection.ConnectionString и как настроить другие компоненты?
Ответить с цитированием
  #2  
Старый 05.09.2014, 13:11
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Вам нужен ODBC драйвер для вашей БД под вашу ОС (это обязательная опция для всех клиентских машин)
Его можно, я думаю, найти на офф сайте.

Дальше как с любым другим провайдером нужно создать строку прям из IDE D7
Ответить с цитированием
  #3  
Старый 05.09.2014, 14:03
id2014 id2014 вне форума
Прохожий
 
Регистрация: 05.09.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Пример кода

Вот рабочий код для Dbf файлов.
Можно ли сделать так же для Pervasive? Что нужно поменять?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var	AppFolderPath	: string;
begin
// подключаемся к ДБФ и выводим данные в таблицу
     AppFolderPath := copy(ExtractFilePath(Application.ExeName),1,length(ExtractFilePath(Application.ExeName))-1);

     ADOTable1.Active:=false;
     ADOConnection1.Connected:=false;

     ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source="' +AppFolderPath + '";Extended Properties="DBASE IV;";"';

     ADOConnection1.LoginPrompt:=false;
     ADOConnection1.Mode:=cmReadWrite;
     ADOConnection1.Connected:=true;

// err.dbf находится в папке AppFolderPath (в данном случае в папке с программой)
     ADOTable1.TableName:='err';
     ADOTable1.Active:=true;

// Подключение выполнено

end;
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 05.09.2014 в 19:23.
Ответить с цитированием
  #4  
Старый 07.09.2014, 22:47
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

А код тут не при делах. Надо установить драйвер с сайта производителя и собрать CString как я написал выше.
Ответить с цитированием
  #5  
Старый 09.09.2014, 02:07
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
И нужно чтобы программа запускалась на компьютерах, на которых не установлены Pervasive и BDE.
Совсем ничего не устанавливая не выйдет. Для получения доступа клиента к серверу вам надо установить PDAC, который имеется на сайте производителеля.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 16.09.2014, 15:36
id2014 id2014 вне форума
Прохожий
 
Регистрация: 05.09.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

На компьютере установлен Pervasive SQL 2000i SP4.
Базы данных на этом компьютере открываются другой программой.
Мне нужно чтобы я со своей программы мог получить доступ к базам для чтения.

В Delphi 7 есть Pervasive PSQL OLE DB Provider.
Мне этого достаточно? Или нужно ещё что-то скачивать?
Помогите пожалуйста с подключением к базе данных или дайте ссылку где обсуждается подключение к базам данных Pervasive.
Ответить с цитированием
  #7  
Старый 16.09.2014, 23:21
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от id2014
Помогите пожалуйста с подключением к базе данных или дайте ссылку где обсуждается подключение к базам данных Pervasive.
Провайдера OLE DB должно быть достаточно. Подключайся через ADO. Как правильно формировать строку подключения, смотри в справке к Pervasive.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter