Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Как проверить наличие драйвера для OLE DB? (число прочтений - 7540 )
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Как проверить наличие драйвера для OLE DB?
05. Июня 2006 :: 17:38
Печать  
Вот тут вопрос возник....
А как непонятно...
  
Наверх
IP записан
 
x-pert
1c++ developer
Отсутствует



Сообщений: 134
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #1 - 05. Июня 2006 :: 17:47
Печать  
попытаться создать провайдер OLEDB?
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #2 - 05. Июня 2006 :: 18:36
Печать  
x-pert писал(а) 05. Июня 2006 :: 17:47:
попытаться создать провайдер OLEDB?

И что с того?
Сказано ведь что в комплект XP/2000 входит глюкавый драйвер..... Есть! но глюкавый....
Так что нужно прочитать данные по драйверам.
Наверняка в реестре что-то есть и проанализировать....
  
Наверх
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #3 - 05. Июня 2006 :: 18:49
Печать  
Может что-то типа такого:
Код
Выбрать все
Попытка
  оледб=СоздатьОбъект("vfpoledb.1");
Исключение
  Сообщить("Драйвер не найден");
КонецПопытки 

или взять класс отсюда:
http://forum.itland.ru//index.php?act=Attach&type=post&id=70360
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #4 - 05. Июня 2006 :: 20:05
Печать  
steban писал(а) 05. Июня 2006 :: 18:49:
Может что-то типа такого:
Код
Выбрать все
Попытка
  оледб=СоздатьОбъект("vfpoledb.1");
Исключение
  Сообщить("Драйвер не найден");
КонецПопытки 

или взять класс отсюда:
http://forum.itland.ru//index.php?act=Attach&type=post&id=70360

Блин. Поискал в реестре. А он и правда инпроц-сервер...
Сенкс...
  
Наверх
IP записан
 
x-pert
1c++ developer
Отсутствует



Сообщений: 134
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #5 - 05. Июня 2006 :: 20:15
Печать  
trdm писал(а) 05. Июня 2006 :: 18:36:
x-pert писал(а) 05. Июня 2006 :: 17:47:
попытаться создать провайдер OLEDB?

И что с того?
Сказано ведь что в комплект XP/2000 входит глюкавый драйвер..... Есть! но глюкавый....
Так что нужно прочитать данные по драйверам.
Наверняка в реестре что-то есть и проанализировать....


из темы треда ясно, что нужно убедиться в наличии.
Рассматривать на предмет версий в начале не запрашивалось.
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #6 - 05. Июня 2006 :: 21:02
Печать  
x-pert писал(а) 05. Июня 2006 :: 20:15:
trdm писал(а) 05. Июня 2006 :: 18:36:
x-pert писал(а) 05. Июня 2006 :: 17:47:
попытаться создать провайдер OLEDB?

И что с того?
Сказано ведь что в комплект XP/2000 входит глюкавый драйвер..... Есть! но глюкавый....
Так что нужно прочитать данные по драйверам.
Наверняка в реестре что-то есть и проанализировать....


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

Ну вообще то да. (((
  
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Как проверить наличие драйвера для OLE DB?
Ответ #7 - 06. Июня 2006 :: 05:54
Печать  
Глюкавый, вернее просто заглушка, это  ODBC Visual FoxPro Driver
А Visual FoxPro OLE DB Provider или есть, или нет.
  
Наверх
 
IP записан
 
x-pert
1c++ developer
Отсутствует



Сообщений: 134
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #8 - 06. Июня 2006 :: 07:13
Печать  
Поясните, пожалуйста. Верно ли я понял, что после установки Правильного OLE DB драйвера FoxPro, 1с-dbf заиграет новыми красками? В плане там - скорости выполнения запросов, например.
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #9 - 06. Июня 2006 :: 07:19
Печать  
Новыми не заиграет, но будет меньше шансов получить в окно сообщений сообщение об ошибке.
А может и заиграет. У меня не было возможности почувствовать разницу.
  
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Как проверить наличие драйвера для OLE DB?
Ответ #10 - 06. Июня 2006 :: 08:58
Печать  
x-pert писал(а) 06. Июня 2006 :: 07:13:
Поясните, пожалуйста. Верно ли я понял, что после установки Правильного OLE DB драйвера FoxPro, 1с-dbf заиграет новыми красками? В плане там - скорости выполнения запросов, например.

1C - нет.
1С++ - может быть.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #11 - 16. Января 2007 :: 05:50
Печать  
steban писал(а) 05. Июня 2006 :: 18:49:
Может что-то типа такого:
Код
Выбрать все
Попытка
  оледб=СоздатьОбъект("vfpoledb.1");
Исключение
  Сообщить("Драйвер не найден");
КонецПопытки 


способ
Код
Выбрать все
оледб=СоздатьОбъект("vfpoledb.1"); 


не работает

объект не создается в любом случае Улыбка

У меня провайдер у меня точно есть, запись прогид такая есть, и тесты ОлеДБ работают нормально Печаль

Запись реестра
Цитата:
REGEDIT4

[HKEY_CLASSES_ROOT\VFPOLEDB.1]
@="Microsoft OLE DB Provider for Visual FoxPro"

[HKEY_CLASSES_ROOT\VFPOLEDB.1\CLSID]
@="{50BAEED9-ED25-11D2-B97B-000000000000}"
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #12 - 16. Января 2007 :: 05:52
Печать  
steban писал(а) 05. Июня 2006 :: 18:49:
или взять класс отсюда:
http://forum.itland.ru//index.php?act=Attach&type=post&id=70360

А что за класс? Линк не работает Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как проверить наличие драйвера для OLE DB?
Ответ #13 - 16. Января 2007 :: 06:26
Печать  
Работающий код проверки наличия провайдера (из конфы тестирования 1С++)
Код
Выбрать все
// проверю наличие провайдера
РеестрWin = СоздатьОбъект("РеестрWin");
Если РеестрWin.ОткрытьКлюч("HKEY_CLASSES_ROOT", "VFPOLEDB.1", "KEY_READ") = 0 Тогда
	Сам().ПропуститьТест(, "Не установлен провайдер VFP OLE DB");
КонецЕсли;
 

  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать