powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу подсоеденится к файлам FoxPro через Ole DB
19 сообщений из 19, страница 1 из 1
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34161213
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XP Pro SP2, MDAC версии 2.81.1117.0
В каталоге D:\data находятся файлы Alerte.dbf, Alerte.cdx

Пишу на VB6:
Код: plaintext
1.
2.
3.
4.
5.
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cnn = New Connection
cnn.Open "Provider=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=D:\Data;SourceType=DBF;Exclusive=Yes;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"
Call rs.Open("select * from ALERTE", cnn, adOpenDynamic, adLockOptimistic, adCmdText)


После cnn.Open
cnn.Errors.Count = 3, но номера у этих ошибок равны нулю, и программа не вырабатывает исключение:

Source : Microsoft OLE DB Provider for ODBC Drivers
Desription: [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed

Source : Microsoft OLE DB Provider for ODBC Drivers
Desription: [Microsoft][ODBC Visual FoxPro Driver]Null

Source : Microsoft OLE DB Provider for ODBC Drivers
Desription: [Microsoft][ODBC Visual FoxPro Driver]Deleted


Программа работает дальше и Call rs.Open вырабатывает исключения и ошибку:
Error Number: 80040E21
Source : Microsoft OLE DB Provider for ODBC Drivers
Description: ODBC driver does not support the requested properties.


Что я сделал не так ?
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34161285
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите поиск в ADO разделе, мы там приводили строки соединения с FoxPro...

На мой взгляд Вы пытаетесь вызвать ODBC , которого по умолчанию в MDAC версии 2.81.1117.0 для FoxPro нет... используйте OLE DB provider...

Good luck!
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34161600
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Ch
На мой взгляд Вы пытаетесь вызвать ODBC , которого по умолчанию в MDAC версии 2.81.1117.0 для FoxPro нет... используйте OLE DB provider...

Good luck!

На другой машине, где стоит тот же самый MDAC у меня все получается, правда там стоит Windows 2000.
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34161660
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelT100 На другой машине, где стоит тот же самый MDAC у меня все получается, правда там стоит Windows 2000.
Вообще-то в оригинальном MDAC к W2k драйвер VFP 6.0 ODBC шел по умолчанию. После Upgrade он не удаляется из системы.

Можно скачать драйвер ODBC для MS Visual FoxPro с их сервера, но он очень старый и я бы рекомендовал изменить программы и использовать MS VFP Ole DB Provider 9.1...

Good luck!
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34161877
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Ch[quot PavelT100]
Можно скачать драйвер ODBC для MS Visual FoxPro с их сервера...


А можно пояснить, причем тут драйвер ODBC для MS Visual FoxPro, если я пользуюсь MSDASQL ? Кстати, я нашел сейчас компьютер с XP и тем же MDAC и все там работает.
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34162139
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelT100 А можно пояснить, причем тут драйвер ODBC для MS Visual FoxPro, если я пользуюсь MSDASQL ? Есть подозрение, что это выражение
Код: plaintext
Provider=MSDASQL. 1 ;Persist Security Info=False;
стандартный синтаксис для MDAC в случае использования ODBC... Так как он никакого отношения к dbf и тем более к FoxPro не имеет... Скорее всего принимается следующее выражение к работе
Код: plaintext
Driver={Microsoft Visual FoxPro Driver};
хотя я могу и ошибаться...

А на другой машине может быть кем-то был установлен ODBC для FoxPro? Как я писал выше FoxPro входил до версии MDAC 2.6, потом его исключили и рекомендовали использовать Ole DB... Если есть желание - проще переписать под Ole DB...
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34162187
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34165544
Igor86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я из VB 6 подключаюсь так
Set cnn = New Connection
cnn.ConnectionString="Provider=VFPOleDb;DSN="+имя источника
cnn.Open

Работает без проблем.
Это подключение черех Фоксовый OLEDB.
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34165599
M.Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor86 , не верю
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34166774
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скачал у MS файл vfpoledb.exe, установил драйвер vfpoledb.dll.

Пишу:
Код: plaintext
1.
2.
3.
4.
5.
Dim cnnMDQ As ADODB.Connection
cnnMDQ.Open "Provider=VFPOLEDB.1; Data Source=D:\DATA;"
...
Dim rm As New ADODB.Recordset
rm.Open "select * from ALERTE where <....>", cnnMDQ, adOpenDynamic, adLockOptimistic, adCmdText
rm.Fields( 5 ) = "<...>"

Последняя строка вырабатывает исключение с ошибкой :
Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

При этом:
rm.CursorType = adOpenStatic, хотя я четко поставил adOpenDynamic
rm.LockType = adLockReadOnly, хотя я четко поставил adLockOptimistic
Что я делаю не так ?
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34169306
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была подобная проблемы со старым ASP, как решил уже не помню - брал параметры из HELP от VFP Ole DB Provider и одно из сочетаний дало положительный результат...

Но давно это было и после того как перешел на ASP.NET - прболемы ушли совсем. Вот пример из VB.NET может поможет:
Код: plaintext
"provider=vfpoledb.1;Data Source=C:\ws_message\server\DBWS.dbc;Mode=ReadWrite|Share Deny None;" 

Good luck!
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34169333
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте ваш исходный код, только предварительно установите ODBC for VFP в системе:

лечится копированием vfpodbc.dll (в SYSTEM32, с машины, где стоит Win 2000 и MDAC ) и его установкой:

copy vfpodbc.dll %SystemRoot%\system32\vfpodbc.dll /y

ODBCConf /a {REGSVR %SystemRoot%\System32\vfpodbc.dll}

То же самое под Windows XP, Server 2003
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34170723
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако заработало.
Перед открытием recordset я поставил
Код: plaintext
rm.CursorLocation = adUseClient 
и заработало.
Однако вопросы все же есть.
rm.LockType = adLockOptimistic, как я и указывал но
rm.CursorType = adOpenStatic по прежнему , хотя я четко поставил adOpenDynamic ?
Записи обновляются успешно, что мне и нужно, но кто-нибудь может прокоментировать происходящее ?
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34171472
Igor86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если необходимо делать Update, используя Фоксовый OLEDB, то надо знать его ограничения.
Например, Фоксовый OLEDB не поддерживает динамический RecordSet (если не изменяет память, то только типы adOpenKeySet и adOpenStatic), соответственно и с блокировками. Еще зависит от того какой курсор (клиентский или серверный). Однако можно в статический RecordSet добавлять записи без проблем и сохранять тоже, ну и соответственно изменять и сохранять.
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34174278
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey TsИспользуйте ваш исходный код, только предварительно установите ODBC for VFP в системе:

лечится копированием vfpodbc.dll (в SYSTEM32, с машины, где стоит Win 2000 и MDAC ) и его установкой:

copy vfpodbc.dll %SystemRoot%\system32\vfpodbc.dll /y

ODBCConf /a {REGSVR %SystemRoot%\System32\vfpodbc.dll}

То же самое под Windows XP, Server 2003

Замечательно, но в системе у меня есть vfpodbc.dll, и драйвер Microsoft Visual FoxPro Driver установлен в Control Panel|Administative Tools|Data Sources(ODBC) - закладка Drivers.

Однако конструкция :
Код: plaintext
cnn.Open "Provider=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=D:\Data;SourceType=DBF;Exclusive=Yes;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"
не работает как я и писал в первом сообщение.
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34175912
MSDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты вообще при создании в упор видел это ? А зачем это? А что накуй оно оно вообще нужно ?
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34175914
MSDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34177008
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MSDNТы вообще при создании в упор видел это ? А зачем это? А что накуй оно оно вообще нужно ?
Не понял, о чем вы ?
...
Рейтинг: 0 / 0
Не могу подсоеденится к файлам FoxPro через Ole DB
    #34178596
Igor86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бросьте Вы этот Фоксовый ODBC. Его MS уже давно не поддерживает. И Фоксовские таблицы и БД он поддерживает только шестой версии. Работайте через Фоксовый OLEDB. У меня с ним проблем не наблюдается (начиная с версии для 9 Фокса)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу подсоеденится к файлам FoxPro через Ole DB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]