Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 7
1

При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных (8961)

26.06.2011, 10:04. Просмотров 3083. Ответов 10
Метки нет (Все метки)

При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных (8961)

Код программы такой
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
unit delphiDBF;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, Grids, DBGrids, ADODB;
 
type
  TForm5 = class(TForm)
    cnDBF: TADOConnection;
    TabDBF: TADOTable;
    GridDBF: TDBGrid;
    dsDBF: TDataSource;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form5: TForm5;
 
implementation
 
{$R *.dfm}
 
procedure TForm5.Button1Click(Sender: TObject);
var
AppFolderPath: string;
begin
// подключаемся к ДБФ и выводим данные в таблицу
AppFolderPath:=copy(ExtractFilePath(Application.ExeName),1,length(ExtractFilePath(Application.ExeName))-1);
 
 
    TabDBF.Active:=false;
    CnDBF.Connected:=false;
 
//    CnDBF.ConnectionString:='Provider=MSDASQL;Password="";Persist Security Info=True;Data Source=Файлы dBASE;Mode=ReadWrite;Initial Catalog='+AppFolderPath;
          CnDBF.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source="' +AppFolderPath + '";Extended Properties="DBASE IV;";"';
//    CnDBF.DefaultDatabase:=AppFolderPath;
//    cnDBF.LoginPrompt:=false;
          CnDBF.LoginPrompt:=false;
          cnDBF.Mode:=cmReadWrite;
          CnDBF.Connected:=true;
 
    CnDBF.Connected:=true;
// err.dbf находится в папке  AppFolderPath (в данном случае в папке с программой)
    TabDBF.TableName:='err';
    TabDBF.Active:=true;
 
// Подключение выполнено
 
 
end;
 
procedure TForm5.Button2Click(Sender: TObject);
begin
   TabDBF.Append;
   TabDBF.FieldByName('sl_id').Value:=0;
   TabDBF.FieldByName('id_med').Value:=0;
   TabDBF.FieldByName('ter_mu').Value:=0;
   TabDBF.FieldByName('kod_mu').Value:=0;
   TabDBF.FieldByName('kod_err').Value:=0;
   TabDBF.FieldByName('Prim').Value:='новая строка';
   TabDBF.Post;
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2011, 10:04
Ответы с готовыми решениями:

Ошибка при открытии базы данных
Здавствуйте, помогите с программой, пожалуйста. Я пытаюсь создать школьную тестирующую систему с...

Выдает ошибку при заполнении Базы данных через Delphi
База данных - mysql dbforge Пытаюсь ввести данные в базу, но выдает эту страшную ошибку. С чем она...

При восстановлении базы данных возникает ошибка
Здравствуйте. При восстановлении базы данных возникает ошибка: Ошибка Ответ MySQL: #1064 -...

При создании базы данных на возникает ошибка
Необходимо создать БД с помощью T-SQL, причём нужно определить собственную файловую группу и...

10
31 / 26 / 5
Регистрация: 11.06.2008
Сообщений: 56
27.06.2011, 20:51 2
Вот посмотри тут
http://support.microsoft.com/kb/321003
думаю ты найдешь ответ там.
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 7
01.07.2011, 21:51  [ТС] 3
не помогло....
0
31 / 26 / 5
Регистрация: 11.06.2008
Сообщений: 56
03.07.2011, 00:13 4
Цитата Сообщение от ximic86 Посмотреть сообщение
не помогло....
Попробуй установить вот этот драйвер:
http://msdn.microsoft.com/en-us/vfoxpro/bb190233
У меня заработало. Это проблема в драйвере была!
Подключай через OLE DB
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 7
03.07.2011, 10:39  [ТС] 5
подскажите пожалуйста как, драйвер скачал и установил, у меня Windows 7, всё равно выдаёт ошибку

Добавлено через 56 минут
всё получилось, подскажите как мне правильно прописать директорию открываемоего файла, если он например будет не в папке с программой, как то через AppFolderPath вроде
0
31 / 26 / 5
Регистрация: 11.06.2008
Сообщений: 56
03.07.2011, 11:13 6
Прописывать придется явно.
Предположим, что твоя программа находится на диске D:\, а получить доступ надо к "База.dbc", тогда так:
Delphi
1
2
ADOConnection1.ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;' +
'SourceDB=C:\Documents and Settings\Sergey\Рабочий стол\дипломный проект1\дипломный проект\база.dbc;SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"'
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 7
03.07.2011, 17:26  [ТС] 7
[Error] delphiDBF.pas(54): Undeclared identifier: 'ADOConnection' выдаёт такую ошибку, написал такую строку

Delphi
1
2
ADOConnection1.ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;' + 
'SourceDB=L:\перед уходом\abonent_d24016\DATABASE\abonentcheck.dbf;SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"'
вроде классы все присвоены, как видите в коде, который был выше, а пишет переменная неопределена и подскажите в каком месте программы разместить, если не трудно
0
31 / 26 / 5
Регистрация: 11.06.2008
Сообщений: 56
03.07.2011, 18:56 8
Цитата Сообщение от ximic86 Посмотреть сообщение
[Error] delphiDBF.pas(54): Undeclared identifier: 'ADOConnection' выдаёт такую ошибку, написал такую строку

ADOConnection1.ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;' +
'SourceDB=L:\перед уходом\abonent_d24016\DATABASE\abonentcheck.dbf;SourceType=D BC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes eleted=Yes;"'

вроде классы все присвоены, как видите в коде, который был выше, а пишет переменная неопределена и подскажите в каком месте программы разместить, если не трудно
В твоем случае надо вместо ADOConnection писать CnDBF
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 7
03.07.2011, 22:11  [ТС] 9
всё сдеал, компилятор сработал нормально, как только открываю нужную мне базу, выдаётся ошибка:
операция не допускается, если объект открыт
0
594 / 585 / 69
Регистрация: 04.04.2011
Сообщений: 2,207
05.07.2011, 11:42 10
При работе с BDE запомните как отченаш:
Перед запуском программы из среды (F9)
ЗАКРЫТЬ ВСЕ ОТКРЫТЫЕ КОННЕТЫ К БАЗЕ И СООТВЕТСТВЕННО ВСЕ ОТКРЫТЫЕ ДАТАСЕТЫ !!!!!!

Добавлено через 51 секунду
И вообще BDE - это ЗЛО.
0
0 / 0 / 0
Регистрация: 24.10.2009
Сообщений: 6
17.02.2013, 15:45 11
Помогает установка Microsoft OLE DB Provider for Visual FoxPro 9.0 http://www.microsoft.com/en-us... x?id=14839
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2013, 15:45

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

Ошибка при открытии базы данных SQLite
Добрый вечер. Ситуация такая, пытаюсь работать с базой данных, но при открытии соединения возникает...

Ошибка базы данных при открытии прогаммы
Помогите исправить ошибку. прога на С++ builder, видимо не работает база данных на Access....

Ошибка при открытии БД: "Нераспознаваемый формат базы данных"
здравствуйте. подскажите что я не так делаю. как присоединить эту чертову БД и сделать простейший...

Ошибка драйвера внешней базы access 2003
Неожиданно после многих лет работы программа Access 2003 перестала видеть файлы Excel .xls Не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.