| Номер ошибки: | Ошибка 8961 | |
| Название ошибки: | Access Error 8961 | |
| Описание ошибки: | Ошибка 8961: Возникла ошибка в приложении Microsoft Access. Приложение будет закрыто. Приносим извинения за неудобства. | |
| Разработчик: | Microsoft Corporation | |
| Программное обеспечение: | Microsoft Access | |
| Относится к: | Windows XP, Vista, 7, 8, 10, 11 |
Объяснение «Access Error 8961»
Это наиболее распространенное условие «Access Error 8961», известное как ошибка времени выполнения (ошибка). Когда дело доходит до программного обеспечения, как Microsoft Access, инженеры могут использовать различные инструменты, чтобы попытаться сорвать эти ошибки как можно скорее. Тем не менее, возможно, что иногда ошибки, такие как ошибка 8961, не устранены, даже на этом этапе.
Пользователи Microsoft Access могут столкнуться с ошибкой 8961, вызванной нормальным использованием приложения, которое также может читать как «Access Error 8961». Если происходит «Access Error 8961», разработчикам будет сообщено об этой проблеме, хотя отчеты об ошибках встроены в приложение. Команда программирования может использовать эту информацию для поиска и устранения проблемы (разработка обновления). Следовательно, разработчик будет использовать пакет обновления Microsoft Access для устранения ошибки 8961 и любых других сообщений об ошибках.
Что генерирует ошибку времени выполнения 8961?
В первый раз, когда вы можете столкнуться с ошибкой среды выполнения Microsoft Access обычно с «Access Error 8961» при запуске программы. Причины сбоев обработки можно отличить, классифицируя ошибки 8961 следующим образом:.
Ошибка 8961 Crash — это очень популярная ошибка выполнения ошибки 8961, которая приводит к завершению работы всей программы. Если Microsoft Access не может обработать данный ввод, или он не может получить требуемый вывод, это обычно происходит.
Утечка памяти «Access Error 8961» — ошибка 8961 приводит к постоянной утечке памяти Microsoft Access. Потребление памяти напрямую пропорционально загрузке ЦП. Возможные провокации включают отсутствие девыделения памяти и ссылку на плохой код, такой как бесконечные циклы.
Ошибка 8961 Logic Error — логическая ошибка возникает, когда компьютер генерирует неправильный вывод, даже если пользователь предоставляет правильный ввод. Это происходит, когда исходный код Microsoft Corporation вызывает уязвимость при обработке информации.
Такие проблемы Access Error 8961 обычно вызваны повреждением файла, связанного с Microsoft Access, или, в некоторых случаях, его случайным или намеренным удалением. Основной способ решить эти проблемы вручную — заменить файл Microsoft Corporation новой копией. Кроме того, регулярная очистка и оптимизация реестра Windows предотвратит создание неправильных ссылок на пути к файлам Microsoft Corporation, поэтому мы настоятельно рекомендуем регулярно выполнять сканирование реестра.
Распространенные проблемы Access Error 8961
Access Error 8961 Проблемы, связанные с Microsoft Access:
- «Ошибка программного обеспечения Access Error 8961. «
- «Access Error 8961 не является приложением Win32.»
- «Извините, Access Error 8961 столкнулся с проблемой. «
- «Файл Access Error 8961 не найден.»
- «Access Error 8961 не найден.»
- «Ошибка запуска программы: Access Error 8961.»
- «Access Error 8961 не работает. «
- «Ошибка Access Error 8961. «
- «Неверный путь к программе: Access Error 8961. «
Обычно ошибки Access Error 8961 с Microsoft Access возникают во время запуска или завершения работы, в то время как программы, связанные с Access Error 8961, выполняются, или редко во время последовательности обновления ОС. Важно отметить, когда возникают проблемы Access Error 8961, так как это помогает устранять проблемы Microsoft Access (и сообщать в Microsoft Corporation).
Создатели Access Error 8961 Трудности
Заражение вредоносными программами, недопустимые записи реестра Microsoft Access или отсутствующие или поврежденные файлы Access Error 8961 могут создать эти ошибки Access Error 8961.
В первую очередь, проблемы Access Error 8961 создаются:
- Поврежденная или недопустимая запись реестра Access Error 8961.
- Вирус или вредоносное ПО, повреждающее Access Error 8961.
- Access Error 8961 злонамеренно или ошибочно удален другим программным обеспечением (кроме Microsoft Access).
- Другое приложение, конфликтующее с Access Error 8961 или другими общими ссылками.
- Неполный или поврежденный Microsoft Access (Access Error 8961) из загрузки или установки.
Продукт Solvusoft
Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.
Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11
Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
|
|
От: |
grigor |
|
| Дата: | 21.10.03 07:43 | ||
| Оценка: |
Уважаемые коллеги!
Помогите пожалуйста разобраться в следующей проблеме:
Имеется файл .DBF (test.dbf), который имеет 5 полей: pk_num — числовое (тип ‘I’, 4 байта),
а остальные (param1, param2, param3, param4) — символьные, размером 32 байта каждое.
Файл прекрасно смотрится Exсel’ем.
Требуется его проиндексировать по какому-либо полю. Причем это нужно сделать на VC++
c использованием ODBC. DBF — файл описывается в System DSN как Microsoft dBase Driver (*.dbf).
Соединение с базой (SQLAllocHandle, SQLConnect и пр.) происходит нормально.
далее идет следующий код:
CHAR szQuery[256];
ZeroMemory(szQuery,sizeof(szQuery));
wsprintf(szQuery,»CREATE UNIQUE INDEX a1 ON test (pk_num)»);
retcode = SQLExecDirect(hstmt,(SQLCHAR*)szQuery,SQL_NTS);
где a1 — имя создаваемого индексного файла (*.idx), а test — имя таблицы, в случае DBF
(насколько мне известно) совпадает с именем базы.
Функция SQLExecDirect завершается с ошибкой и при последующем анализе ошибки функцией SQLGetDiagRec
строковое сообщение об ошибке имеет вид:
«[Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (8961).»
Что здесь не так?
|
|
От: |
algol |
about:blank |
| Дата: | 21.10.03 11:29 | ||
| Оценка: |
Здравствуйте, grigor, Вы писали:
G>Уважаемые коллеги!
G>Помогите пожалуйста разобраться в следующей проблеме:
G>Имеется файл .DBF (test.dbf), который имеет 5 полей: pk_num — числовое (тип ‘I’, 4 байта),
G>а остальные (param1, param2, param3, param4) — символьные, размером 32 байта каждое.
G>Файл прекрасно смотрится Exсel’ем.
G>Требуется его проиндексировать по какому-либо полю. Причем это нужно сделать на VC++
G>c использованием ODBC. DBF — файл описывается в System DSN как Microsoft dBase Driver (*.dbf).
G>Соединение с базой (SQLAllocHandle, SQLConnect и пр.) происходит нормально.
G>далее идет следующий код:
G> CHAR szQuery[256];
G> ZeroMemory(szQuery,sizeof(szQuery));
G> wsprintf(szQuery,»CREATE UNIQUE INDEX a1 ON test (pk_num)»);
G> retcode = SQLExecDirect(hstmt,(SQLCHAR*)szQuery,SQL_NTS);
G>где a1 — имя создаваемого индексного файла (*.idx), а test — имя таблицы, в случае DBF
G>(насколько мне известно) совпадает с именем базы.
G>Функция SQLExecDirect завершается с ошибкой и при последующем анализе ошибки функцией SQLGetDiagRec
G>строковое сообщение об ошибке имеет вид:
G>»[Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (8961).»
G>Что здесь не так?
Похоже, что это таблица не dBase, а FoxPro (тип данных I, индексный файл idx). ISAM драйвер dBase может не поддерживать такие файлы. Лучше взять ODBC драйвер Visual FoxPro. При этом запрос изменится на «INDEX ON pk_num TO a1 UNIQUE».
|
|
От: | Аноним | |
| Дата: | 22.10.03 11:41 | ||
| Оценка: |
Здравствуйте, algol, Вы писали:
A>Здравствуйте, grigor, Вы писали:
G>>Уважаемые коллеги!
G>>Помогите пожалуйста разобраться в следующей проблеме:
G>>Имеется файл .DBF (test.dbf), который имеет 5 полей: pk_num — числовое (тип ‘I’, 4 байта),
G>>а остальные (param1, param2, param3, param4) — символьные, размером 32 байта каждое.
G>>Файл прекрасно смотрится Exсel’ем.
G>>Требуется его проиндексировать по какому-либо полю. Причем это нужно сделать на VC++
G>>c использованием ODBC. DBF — файл описывается в System DSN как Microsoft dBase Driver (*.dbf).
G>>Соединение с базой (SQLAllocHandle, SQLConnect и пр.) происходит нормально.
G>>далее идет следующий код:
G>> CHAR szQuery[256];
G>> ZeroMemory(szQuery,sizeof(szQuery));
G>> wsprintf(szQuery,»CREATE UNIQUE INDEX a1 ON test (pk_num)»);
G>> retcode = SQLExecDirect(hstmt,(SQLCHAR*)szQuery,SQL_NTS);
G>>где a1 — имя создаваемого индексного файла (*.idx), а test — имя таблицы, в случае DBF
G>>(насколько мне известно) совпадает с именем базы.
G>>Функция SQLExecDirect завершается с ошибкой и при последующем анализе ошибки функцией SQLGetDiagRec
G>>строковое сообщение об ошибке имеет вид:
G>>»[Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (8961).»
G>>Что здесь не так?
A>Похоже, что это таблица не dBase, а FoxPro (тип данных I, индексный файл idx). ISAM драйвер dBase может не поддерживать такие файлы. Лучше взять ODBC драйвер Visual FoxPro. При этом запрос изменится на «INDEX ON pk_num TO a1 UNIQUE».
Извините, сам разобрался. Оказывается мой DBF — файл формировался немного некорректно, а именно — в заголовке не заполнялось поле даты последней модификации. После заполнения этого поля инструкция CREATE UNIQUE INDEX a1 ON test (pk_num ASC) срабатывает нормально. Правда формируется индексный файл *.mdx и текстовый *.inf, а не *.idx.
- Переместить
- Удалить
- Выделить ветку
Пока на собственное сообщение не было ответов, его можно удалить.
|
ximic86 0 / 0 / 0 Регистрация: 24.01.2010 Сообщений: 7 |
||||
|
1 |
||||
|
26.06.2011, 10:04. Показов 3795. Ответов 10 Метки нет (Все метки)
При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных (8961) Код программы такой
__________________
0 |
|
0 / 0 / 0 Регистрация: 24.01.2010 Сообщений: 7 |
|
|
01.07.2011, 21:51 [ТС] |
3 |
|
не помогло….
0 |
|
35 / 30 / 5 Регистрация: 11.06.2008 Сообщений: 56 |
|
|
03.07.2011, 00:13 |
4 |
|
не помогло…. Попробуй установить вот этот драйвер:
0 |
|
0 / 0 / 0 Регистрация: 24.01.2010 Сообщений: 7 |
|
|
03.07.2011, 10:39 [ТС] |
5 |
|
подскажите пожалуйста как, драйвер скачал и установил, у меня Windows 7, всё равно выдаёт ошибку Добавлено через 56 минут
0 |
|
Cooler2 35 / 30 / 5 Регистрация: 11.06.2008 Сообщений: 56 |
||||
|
03.07.2011, 11:13 |
6 |
|||
|
Прописывать придется явно.
0 |
|
ximic86 0 / 0 / 0 Регистрация: 24.01.2010 Сообщений: 7 |
||||
|
03.07.2011, 17:26 [ТС] |
7 |
|||
|
[Error] delphiDBF.pas(54): Undeclared identifier: ‘ADOConnection’ выдаёт такую ошибку, написал такую строку
вроде классы все присвоены, как видите в коде, который был выше, а пишет переменная неопределена и подскажите в каком месте программы разместить, если не трудно
0 |
|
35 / 30 / 5 Регистрация: 11.06.2008 Сообщений: 56 |
|
|
03.07.2011, 18:56 |
8 |
|
[Error] delphiDBF.pas(54): Undeclared identifier: ‘ADOConnection’ выдаёт такую ошибку, написал такую строку ADOConnection1.ConnectionString := ‘Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=»Driver={Microsoft Visual FoxPro Driver};UID=;’ + вроде классы все присвоены, как видите в коде, который был выше, а пишет переменная неопределена и подскажите в каком месте программы разместить, если не трудно В твоем случае надо вместо ADOConnection писать CnDBF
0 |
|
0 / 0 / 0 Регистрация: 24.01.2010 Сообщений: 7 |
|
|
03.07.2011, 22:11 [ТС] |
9 |
|
всё сдеал, компилятор сработал нормально, как только открываю нужную мне базу, выдаётся ошибка:
0 |
|
1496 / 1238 / 244 Регистрация: 04.04.2011 Сообщений: 4,356 |
|
|
05.07.2011, 11:42 |
10 |
|
При работе с BDE запомните как отченаш: Добавлено через 51 секунду
0 |
23.03.12 — 12:01
Знаю, что как читать не раз уже обсуждалось. и поиском искал, но так ничего и не нашел. Написал несколько вариантов кода — ошибка одна и та же «Произошла исключительная ситуация (Microsoft JET Database Engine): Внешняя таблица не имеет предполагаемый формат.»
пример 1
ИмяФайла = «Users.DB»;
СтрокаПодключения = «Data Source=C:Baza16;Extended Properties=Paradox 5.x»;
Провайдер= «Microsoft.Jet.OLEDB.4.0»;
МойЗапрос = «Select * From » + ИмяФайла;
Connection = Новый COMОбъект(«ADODB.Connection»);
Connection.Provider = Провайдер;
Connection.ConnectionString = СтрокаПодключения;
Попытка
Connection.Open();
Исключение
Сообщить(«Подключение — bad!»);
КонецПопытки;
Command = Новый COMОбъект(«ADODB.Command»);
Command.ActiveConnection = Connection;
Command.CommandText = МойЗапрос;
Command.CommandType = 1;
RS = Новый COMОбъект(«ADODB.Recordset»);
Попытка
RS.Open(Command);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
пример 2
ИмяФайла = «Users.DB»;
СтрокаПодключения = «Data Source=C:Baza16;Extended Properties=Paradox 5.x»;
Провайдер= «Microsoft.Jet.OLEDB.4.0»;
МойЗапрос = «Select * From » + ИмяФайла;
Connection = Новый COMОбъект(«ADODB.Connection»);
Connection.Provider = Провайдер;
Connection.ConnectionString = СтрокаПодключения;
Попытка
Connection.Open();
Исключение
Сообщить(«Подключение — bad!»);
КонецПопытки;
Command = Новый COMОбъект(«ADODB.Command»);
Command.ActiveConnection = Connection;
Command.CommandText = МойЗапрос;
Command.CommandType = 1;
RS = Новый COMОбъект(«ADODB.Recordset»);
Попытка
RS = Command.Execute();
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Пример 3
ИмяФайла = «Users.DB»;
СтрокаПодключения = «Data Source=C:Baza16;Extended Properties=Paradox 5.x»;
Провайдер= «Microsoft.Jet.OLEDB.4.0»;
МойЗапрос = «Select * From » + ИмяФайла;
Connection = Новый COMОбъект(«ADODB.Connection»);
Connection.Provider = Провайдер;
Connection.ConnectionString = СтрокаПодключения;
Попытка
Connection.Open();
Исключение
Сообщить(«Подключение — bad!»);
КонецПопытки;
Command = Новый COMОбъект(«ADODB.Command»);
Command.ActiveConnection = Connection;
Command.CommandText = МойЗапрос;
Command.CommandType = 1;
RS = Новый COMОбъект(«ADODB.Recordset»);
Попытка
RS.Open(МойЗапрос, Connection );
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Операционка Win7 64. Может какую-то библиотеку надо или сам файл кривой? как выяснить что файл кривой? Программа Paradox Viewer 1.98 показывает версия файла 5.0. Данные из файла тоже отображаются. Впервые столкнулся с этим форматом. Знающие люди. не проходите мимо, пожалуйста!
1 — 23.03.12 — 12:18
Попробую апнуть
2 — 23.03.12 — 12:29
Соединение = Новый COMОбъект(«ADODB.Connection»);
РасположениеБазыДанных = Константы.РасположениеБазыДанныхКомплектация.Получить();
СтрокаСоединения = «Provider=Microsoft.Jet.OLEDB.4.0;
|Jet OLEDB:Database Password=»»»»;
|Data Source=»+РасположениеБазыДанных+»;
|Extended Properties=Paradox 5.x;
|»;
Соединение.Open(СтрокаСоединения);
Вот такая штука работает. Обратите внимание на строку Jet OLEDB:Database Password=»»»»; Может из-за этого?
3 — 23.03.12 — 12:31
Тут человек говорит мне что ему помогло следующее: «расшаривание» доступа к файлу с:pdox.net
4 — 23.03.12 — 12:33
я читал Paradox через ВК
5 — 23.03.12 — 12:35
(3) и даже с этой строчкой не помогает
(4) нет возможности ставить дополнительные компоненты пользователям, которым надо будет каждый день грузить файлы. Но для опыта хотелось бы посмотреть как через ВК это делается.
6 — 23.03.12 — 12:36
(3) даже несмотря на то, что это локальный файл?
7 — 23.03.12 — 12:39
(3) и даже это не помогло.
8 — 23.03.12 — 12:39
Залейте куда-нибудь несущественную дб-шку. Попробую ее у себя открыть, чтобы убедиться, что дело в ваших библиотеках.
9 — 23.03.12 — 12:42
на правах антирекламы ресурса )) : http://infostart.ru/public/14148/
10 — 23.03.12 — 12:44
можно найти на просторах инета и в свободном доступе
11 — 23.03.12 — 12:45
(0)У меня вот такие строки есть в одной обработке:
Соединение = Новый ComОбъект(«ADODB.Connection»);
СтрокаПодключения=»Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+Лев(ЭлементыФормы.Файл.Значение,3)+»;Extended Properties=Paradox 5.x;»;
Соединение.Open(СтрокаПодключения);
Rs = Новый ComОбъект(«ADODB.Recordset»); ИмяФайла=СтрЗаменить(ЭлементыФормы.Файл.Значение,Лев(ЭлементыФормы.Файл.Значение,3),»»);
Rs.Open(«select * from «+ИмяФайла+»;»,Соединение);
12 — 23.03.12 — 12:53
(11) у меня такой способ указан в третьем варианте.
(8) Создал пустой текстовый файл, заменил имя на то с которым работаю — ошибка та же самая выходит.
(9) Там гемморой с внутренней валютой. поищу где-нибудь еще на просторах интернетов.
13 — 23.03.12 — 13:06
мыло пиши — сброшу
14 — 23.03.12 — 13:17
martyanov@list.ru
15 — 23.03.12 — 13:18
Но все же хотелось бы узнать как же можно заставить 1с читать парадоксовские файлы теми способами, которые везде написаны.
16 — 23.03.12 — 13:46
Попробовал ваш код из 3-го примера на своих данных. Полностью рабочий.
Windows XP.
17 — 23.03.12 — 13:48
Но, с пустым файлом выдает такое «Непредвиденная ошибка драйвера внешней базы данных (8961)» Видимо, версии ADO разные.
18 — 23.03.12 — 14:35
У меня так читает (что на ВинХП что на Вин7):
БД = Новый ComObject(«ADODB.Connection»);
Если БД.Open(«Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=»+ПутьБД+»;Dbq=»+ПутьБД+»;CollatingSequence=ASCII»)= 0 Тогда
Сообщить(«Ошибка….»);
Возврат;
КонецЕсли;
19 — 23.03.12 — 14:48
(16) можно попросить проверить ни чтение этот файл http://ifolder.ru/29474196
(17) я когда создавал пустой файл вьювер мне писал версию 3.
20 — 23.03.12 — 15:48
(19) Файл отрывается нормально без ошибок
21 — 23.03.12 — 15:56
(20) открывается
версия msjetoledb40.dll 4.0 95020
если что еще BDE стоит idapi32.dll 5.0 122
22 — 23.03.12 — 16:46
(21) У себя нашел файл msjetoledb40.dll версия 4.0.9756. Значит, библиотечка стоит. но вот ошибка… позже домой приеду попробую ни XP эту обработку запустить.
23 — 23.03.12 — 16:59
На Win 7 с такой же версией библиотеки как и у вас ваш файл тоже открывается нормально.
24 — 23.03.12 — 17:21
Ага! Попалась, которая кусалась! 🙂
Эксперимент на Win XP без установленного BDE показал вашу же ошибку о неверном формате. После установки BDE все отработало корректно.
Для установки надо найти файл bdeinst.cab, извлечь из него bdeinst.dll и зарегистрировать эту dll в системе с помощью regsrv32.
Понимаю, что, видимо, вам без лишних телодвижений у пользователя не обойтись. Либо этот способ, либо ВК стало быть.
Dmitriy_S
25 — 23.03.12 — 23:02
Делюсь как это победил дома я. По совету (24) я искал BDE, но так просто его не нашел. нашел в делфи, установил. запустил обработку — выдал уже другую ошибку([Microsoft][Драйвер ODBC Paradox] Непредвиденная ошибка драйвера внешней базы данных (11265)).
Наткнулся в инете на описание этой ошибки — надо было запускать с под пользователем с административными правами, это несмотря на то, что я администратор на компе. напоминаю ОС — Win7. В общем, после этих плясок, вроде, перебор строк заработал.
зы. Огромное всем спасибо за участие!!!
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
проблемка с DBF
Доброго всем дня
Возникло затруднение с подключением в файлам dbf:
- Код: Выделить всё
Dim con As ADODB.Connection
Dim rs As ADODB.RecordsetSet Conn = New ADODB.Connection
Conn.ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};" & _
"DriverID=277;Dbq=c:;Exclusive=No"
Conn.Open
Set rs = New ADODB.Recordset
Set rs = Conn.Execute("select * from AZS.dbf")
Файл С:AZS.dbf
В результате кидает ошибку «Непредвиденная ошибка драйвера внешней базы данных (8961)»
Помогите добрым советом
[/syntax]
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 11:58
попробуй:
- Код: Выделить всё
select * from AZS
и проверь наличие такого драйвера в списках драйверов ODBC на своем компе
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 12:24
попробуй с использованием другого ODBC драйвера, например:
Microsoft Visual FoxPro Driver
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 12:25
BDE нужен лишь для модификации данных в таблицах, для просмотра он не нужен.
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
Kirill1983 » 05.05.2005 (Чт) 12:39
Konst_One писал(а):попробуй с использованием другого ODBC драйвера, например:
Microsoft Visual FoxPro Driver
- Код: Выделить всё
con.ConnectionString = "Driver={Microsoft Visual FoxProDriver};" & _
"SourceType=DBF;SourceDb=c:"
con.Open
Ошибка: [Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер,используемый по умолчанию
- Ennor
- Конструктивный критик

- Сообщения: 2504
- Зарегистрирован: 18.12.2001 (Вт) 3:58
- Откуда: Калуга -> Москва
-
- ICQ
Ennor » 05.05.2005 (Чт) 12:41
Используй Jet.
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
Kirill1983 » 05.05.2005 (Чт) 12:51
Ennor писал(а):Используй Jet.
- Код: Выделить всё
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:;" & _
"Extended Properties=dBase 5.0;Persist Security Info=False"con.Open
Set rs = New ADODB.Recordset
Set rs = con.Execute("select * from AZS")
Все та же непредвиденная ошибка драйвера внешней базы данных (8961) ![]()
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 13:17
если в этой табличке нет никаких секретных данных, то выложи ее сюда — посмотрим.
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
Kirill1983 » 05.05.2005 (Чт) 13:33
Konst_One писал(а):если в этой табличке нет никаких секретных данных, то выложи ее сюда — посмотрим.
Вот
- Вложения
-
AZS.rar- (2.95 Кб) Скачиваний: 58
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 14:05
это файл xBase
обязательно нужен BDE
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
Kirill1983 » 05.05.2005 (Чт) 14:37
Konst_One писал(а):это файл xBase
обязательно нужен BDE
Скачал BDE библиотеку и инстальнул,а теперь,извини за ламерство…что делать дальше?
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 14:43
открой TotalCommander и в нем добавь плагин xBaseView 5.0 и открой свою табличку
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
Kirill1983 » 05.05.2005 (Чт) 15:08
Konst_One писал(а):открой TotalCommander и в нем добавь плагин xBaseView 5.0 и открой свою табличку
СПАСИБО тебе Konst_One,но вот проблемка еще выскочила-присваиваю гриду рекордсет и…Run-time error ‘7004’. Т.е. у меня нет выхода,кроме как через ADO открывать?
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 15:15
что за грид и как ты рекордсет присваиваешь?
и пришли:
- Код: Выделить всё
Debug.Print Err.Number & ": " & Err.Description & ". " & Err.Source
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
Kirill1983 » 05.05.2005 (Чт) 15:50
Konst_One писал(а):что за грид и как ты рекордсет присваиваешь?
и пришли:
- Код: Выделить всё
Debug.Print Err.Number & ": " & Err.Description & ". " & Err.Source
7004: The rowset is not bookmarkable.. DataGrid
- Konst_One
- Член-корреспондент академии VBStreets

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
- Сайт
- ICQ
Konst_One » 05.05.2005 (Чт) 15:59
- Код: Выделить всё
Set rs=New ADODB.Recordset
Set rs.ActiveConnection=con
rs.CursorLocation=adUseClient
rs.Open "SELECT * FROM AZS", , adOpenStatic, adLockReadOnly, adCmdTextSet DataGrid1.DataSource=rs
- Kirill1983
- Обычный пользователь

- Сообщения: 78
- Зарегистрирован: 05.05.2005 (Чт) 11:27
-
- ICQ
Kirill1983 » 05.05.2005 (Чт) 16:12
От всей души выражаю Konst_One благодарность в оказании помощи и уделении мне внимания. Спасибо ![]()
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 0
Недавно мне пришлось писать программу на C# для конвертации данных из базы Paradox в другую, более современную. Как я выяснил, есть разные способы подключения к базе данных из C#, например, через Microsoft Jet OLE DB, или через Microsoft Paradox Driver, я выбрал второй способ. Строку подключения можно посмотреть на connectionstrings.com После удачного подключения через Microsoft Paradox Driver я пытался получить данные, но столкнулся с ошибкой «Непредвиденная ошибка драйвера внешней базы данных (11265)«.
При поиске решения проблемы я выяснил несколько важных вещей касательно Paradox в Windows 7 64 bit:
- Для 64 разрядной системы нет драйверов для базы Paradox. В этом можно убедиться, зайдя в Панель управления — Администрирование — Источники данных (ODBC) и не увидев там драйверов для Paradox-а. Однако, если зайти в Источники данных (ODBC) через c:WindowsSysWOW64odbcad32.exe — то мы сразу увидим там кучу дополнительных драйверов, включая Microsoft Paradox Driver.
Таким образом, я пришел к 1-му выводу: приложение должно работать в режиме 32 битного приложения чтобы оно увидело драйвера для Paradox-а. Для этого приложение нужно компилировать с флагом 32BIT, либо установить этот флаг на exe файл, например, с помощью .Net Tools. - Нужно быть внимательным при написании строки подключения Microsoft Paradox Driver. В ней обязательно должен обязательно присутствовать пробел после *.db. Без этого пробела программа не сможет найти драйвер.
- После подключения к базе через Microsoft Paradox Driver я попытался выполнить запрос к базе и получил ошибку «Непредвиденная ошибка драйвера внешней базы данных (11265)«. После долгих поисков в интернете я выяснил, что это происходит из-за того, что приложение не может создать в корне диска C: файл PDOXUSRS.NET. Напрашивался вывод, что приложение нужно запускать с администраторскими правами, чтобы она смогла писать в корень системного диска. Однако, как выяснилось, это не обязательно. Можно просто в BDE Administrator указать в ConfigurationDriversNativeParadox NET DIR другую папку для сохранения файла.
- Так же, необходимо, чтобы у пользователя были права на файл c:WindowsSystem32odbc32.dll (спасибо за помощь Владимиру в комментарии ниже)
- В строке подключения никаким образом не указать кодировку базы, т.к. у драйвера нет таких опций. Если база в windows-кодировке, драйвер будет ее упорно выдавать как западноевропейскую 1252. Единственное корректное решение, к которому я пришел — это преобразовывать кодировку, например, так:
out_str = Encoding.GetEncoding(1251).GetString(Encoding.GetEncoding(1252).GetBytes(in_str))
где in_str — это строка, полученная из базы.
В интернете встречается большое число различных советов. Большинство из них мне не помогли. Те, что я написал, возможно, для кого-то тоже не подойдут. Но возможно, кому-то я все-таки смог помочь.

eleted=Yes;»‘