Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

OleDB Provider for ODBC/Microsoft Visual FoxPro Driver   Найти похожие ветки 

 
malex_1   (2002-10-08 08:31) [0]

Приветствую, мастера! Работаю через ADO, использую OleDB Provider for ODBC и ODBC-шный драйвер Microsoft Visual FoxPro Driver для работы с FoxPro-шными табличками. Все хорошо, но то ли не могу сформулировать CREATE TABLE..., то ли драйвер какой-то неподходящий для такого дела. Просто запросы к таблицам работают замечательно. Не подскажете, в чем проблема? Спасибо


 
malex_1   (2002-10-08 08:43) [1]

ой простите... я хотел сказать, что табличка, конечно, создается без ошибок, но ее не получается открыть ни через БДЕ как FoxPro-шную, ни самим Fox-ом...


 
sniknik   (2002-10-08 09:11) [2]

какие ты драйвера выбираеш ужас. работай через аксессовский Jet, меньше всего проблем с ним.


 
malex_1   (2002-10-08 09:24) [3]

но я правильно понимаю, что ты предлагаешь уйти от dbf к mdb? задачу это не решит...

> какие ты драйвера выбираеш ужас

это следует понимать, как глюк за драйвером?


 
Hawk2   (2002-10-08 09:54) [4]

Да я тоже пробовал использовать OleDB Provider for ODBC (и Access) так он у меня тоже глючил (SELECT работал нормально, а INSERT и UPDATE не выполнялся лезли ошибки). Глюканутый это драйвер послушай sniknik используй лучьше Jet.


 
asdf   (2002-10-08 10:31) [5]

http://www.delphikingdom.com/mastering/poligon/foxole.htm
Тут какую то новую хрень придумали, но я ей пользоваться бы не стал:(


 
sniknik   (2002-10-08 21:33) [6]

malex_1 (08.10.02 09:24)
что ты предлагаешь уйти от dbf к mdb?

скажем так, плавный переход. сделаеш строку с дополнительным параметром будет dbf, надоест и убереш станет mdb. :-) на самом деле не так просто, но начало положиш. строка для dbf->
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase IV;Persist Security Info=False


 
malex_1   (2002-10-09 08:25) [7]

прикольно с Jet-ом, не знал такой штучки, спасибо. Только вот в результате CREATE TABLE создается такая же таблика DBF, что и с VFP-драйвером, которая ничем боле, как только этим же путем, не открывается. Похоже, что нет такого драйвера в ODBC, чтобы "удовлетворить" мои запросы... :)

> http://www.delphikingdom.com/mastering/poligon/foxole.htm
> Тут какую то новую хрень придумали, но я ей пользоваться
> бы не стал:(

эту штуку я видел, вот только не хочется закладываться на нее при моем режиме доступа к таблицам (до 16 программ могут лазить в один файл).


 
malex_1   (2002-10-09 09:40) [8]

ой, извини sniknik. работает с Jet-ом, открывается замечательно. А нет возможности указать не dBase IV, a FoxPro, а то я не могу никак найти ключик. Если стоит dBase, он мне NDX клепает, а нужно создавать CDX.


 
Anatoly Podgoretsky   (2002-10-09 09:56) [9]

Так в строке же указано "Extended Properties=dBase IV", какой еще к черту CDX
Это далеко не Visual FoxPro и даже не FoxPro


 
malex_1   (2002-10-09 10:07) [10]

спасибо, конечно, за замечание. но ты хорошо читаешь, что написано в предыдущем ответе. если ты знаешь, что в свойствах нельзя указать, шо тип базы не dBase, а FoxPro, так и посоветуй


 
sniknik   (2002-10-09 11:36) [11]

FoxPro можно но на старых версиях, Jet 3.5 поддерживает фокс. (последний раз поддерживает :-)) после мелкософт по какимто политическим причинам поддержку прекратили (так и пишут у себя на сайте все мол прекрашаем, причин не обьясняя :-)).

самое хреновое что даже если установить подряд 3.5 после 4.0 (без него нелья mdb новые не работают) то и драйвера вроде есть и ISAM-ы прописаны но заставить работать не получается :-((. пока надеюсь. Но вообше мне dbf без разницы пока а вот Btrive со второй версии не работает, очень огорчительно :-(((.

"ключик"и или ISAM форматы поддерживаемые Jet-ом смотри в реестре
адрес
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ISAM Formats



 
Anatoly Podgoretsky   (2002-10-09 11:58) [12]

malex_1 (09.10.02 10:07)
По поводу Фокса, через Jet тебе дал разъяснение sniknik © (09.10.02 11:36)
А по поводу dBase могу обрадовать, обращение идет через BDE (C:\WINDOWS\SYSTEM\MSXBDE40.DLL) тоже для Парадокс, так что на JET можно поставить крест, вот насчет ODBC нк замучаешься искть приемлемый драйвер, хотя тут лучше комментарии от тех кто использовал "Microsoft Visual FoxPro Driver".
Но я от них слышал только мат.


 
Alexander S.   (2002-10-09 18:56) [13]

Как я понял нужно создать таблицу в нужном формате.

Можно извратиться так:

1. Написать примерно такую программку на фоксе
CREATE CURSOR employee ;
(EmpID N(5), Name C(20), Address C(30), City C(30), ;
PostalCode C(10), OfficeNo C(8) NULL, Specialty M)
select employee
copy to c:\gggg2.dbf TYPE FOXPLUS
use

2. Запустить её через ODBC драйвер из своей программы.

Если интересно, как запустить, пиши.

А вообще я с такими вариантами в своё время намучился. Потому и написал ту самую "хрень"


 
malex_1   (2002-10-10 07:33) [14]


> Alexander S. (09.10.02 18:56)

Очень интересный ход. Подскажи, плиз, как такой механизм реализуется? Просто команда на создание таблички выполняется и табличка создается, но какая-то кривая, потому что фоксом не открывается.


 
Alexander S.   (2002-10-10 08:52) [15]

> табличка создается, но какая-то кривая,
Она не кривая, а в формате версии драйвера ODBC FoxPro. Если драйвер 6 версии то и таблицы создаются версии VFP6. Соответственно FoxPro 2.6 или моложе ее не откроет. Как сам драйвер переключить на другую версию таблиц я не знаю, поэтому и предложил вариант с конвертацией.
Запустить программу FoxPro через драйвер можно так:
Допустим программа называется program1.prg. В ней у нас много чего хорошего понаписано. Программа должна быть скомпилирована, т.е должен быть fxp-файл, и находится в каталоге с таблицами.
1. Создаем любую таблицу (table1.dbf например) и добавляем в нее одну запись. Сохраняем таблицу в каталог со всеми остальными.
2. Создаем в Delphi ADOQuery с таким SQL "select program1() as pole1 from table1"
3.ADOQuery.Active:=True; ADOQuery.Active:=False;

и программа program1 выполняется.
Если в Table1 будет 2 записи, то программа выполнится 2 раза и т.д.
Почитай hlp-файл который идет с драйвером. После этого прочтения, желание с ним работать должно само отпасть.
Успехов.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
3-101068
Shadow
2002-10-13 15:59
2002.10.31
Как можно без особой мороки прочитать DBF-базу и сконвертировать


4-101596
LexusU
2002-09-18 10:06
2002.10.31
Как с помощью хуков перехватить все нажатия клавиш


3-101073
zks
2002-10-11 06:32
2002.10.31
DBase Мне нужно отобрать записи через запрос


7-101536
QymL
2002-08-21 20:53
2002.10.31
Не вызывается DLLProc(DLL_PROCESS_DETACH)


1-101242
CbIH
2002-10-21 22:40
2002.10.31
Утечка памяти и динамические массивы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский