Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) ODBCdatabase вообще работает с Provider=VFPOLEDB.1 (число прочтений - 11606 )
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
ODBCdatabase вообще работает с Provider=VFPOLEDB.1
15. Мая 2007 :: 10:09
Печать  
В конечном счете - пытаюсь зацепиться ТабличнымПолем к ДБФ-кам.

Код
Выбрать все
// На сколько я понял - при этом должен быть
ПД = СоздатьОбъект( "ПоставщикДанныхODBC.VFP" ); //, а значит
ПД.БазаДанных = СоздатьОбъект( "ODBCdatabase" );  // согласно доке.
ТП.ПоставщикДанных = ПД; // на закуску  



Для начала просто пытаюсь без ТабличногоПоля сделать следующее:
Код
Выбрать все
БазаДанных = СоздатьОбъект( "ODBCdatabase" );
СтрПодкл =
	"Provider=VFPOLEDB.1;
	|Deleted=Yes;
	|Mode=ReadWrite;
	|Extended Properties="""";
	|Driver={Microsoft Visual FoxPro Driver};
	|User ID="""";
	|Password="""";
	|Mask Password=False;
	|Data format=DBF;
	|Collating Sequence=RUSSIAN;
	|Data Source=" + КаталогИБ() + ";
	|DSN="""";
	|";

рез = БазаДанных.Соединение( СтрПодкл );
Если ( рез = 0 ) Тогда
	Сообщить( "Ответ драйвера: " + БазаДанных.ПолучитьОписаниеОшибки() );
	Возврат;
КонецЕсли;
ПД = СоздатьОбъект( "ПоставщикДанныхODBC.VFP" );
ПД.БазаДанных = БазаДанных;
 


Получаю отказ подключаться:
Цитата:
Ответ драйвера: State IM001, native 0, message [Microsoft][Диспетчер драйверов ODBC] Драйвер не поддерживает данной функции


Через "OLEDBdata" я подключился нормально, да к ТП его не прикрутишь. Если не ошибаюсь.

Не в закрытую ли дверь я ломлюсь?
Если ODBCdatabase возможно подружить с Provider=VFPOLEDB.1, то в чем моя ошибка?

Использую
vfpoledb.dll = 9.0.0.3504 от 04-11-2005
скачанный с микрософт.ком
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #1 - 15. Мая 2007 :: 10:21
Печать  
Там вот так:
Код
Выбрать все
БазаДанных = СоздатьОбъект("ODBCDataBase");
	Если БазаДанных.Соединение("
		|DRIVER=Microsoft Visual FoxPro Driver;
		|Deleted=Yes;
		|Null=Yes;
		|Collate=RUSSIAN;
		|BackgroundFetch=No;
		|Exclusive=No;
		|SourceType=DBF;
		|SourceDB=" + КаталогИБ()) = 0
	Тогда
		Возврат 0;
	КонецЕсли; 


Но через этот драйвер получается тормознуто +  он не поддерживает многих полезных ф-ий
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #2 - 15. Мая 2007 :: 14:20
Печать  
Причем тормоза очень приличные Печаль
  

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


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #3 - 15. Мая 2007 :: 14:58
Печать  
Спасибо. Завтра буду пробовать.
Однако - альтернативные способы DBF-->ТП есть?
  
Наверх
ICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #4 - 16. Мая 2007 :: 04:32
Печать  
to dnp
Ты путаешь ODBC драйвер и OLEDB провайдер, это две разные вещи (хотя назначение у них одинаковое). ODBC и OLEDB это разные технологии доступа к данным, со своими разными программными компонентами и интерфейсами.
Все поставщики данных ТП работают только с ODBC, для OLEDB не встречал.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #5 - 16. Мая 2007 :: 05:38
Печать  
dnp писал(а) 15. Мая 2007 :: 14:58:
Спасибо. Завтра буду пробовать.
Однако - альтернативные способы DBF-->ТП есть?

Есть такой способ: DBF-->ТЗ-->ТП
Вот например разработка noprogrammer'a Реестр документов + классы для демонстрации возможности прямых запросов
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #6 - 17. Мая 2007 :: 02:49
Печать  
JohnyDeath писал(а) 15. Мая 2007 :: 10:21:
Там вот так:
Код
Выбрать все
БазаДанных = СоздатьОбъект("ODBCDataBase");
	Если БазаДанных.Соединение("
		|DRIVER=Microsoft Visual FoxPro Driver;
		|Deleted=Yes;
		|Null=Yes;
		|Collate=RUSSIAN;
		|BackgroundFetch=No;
		|Exclusive=No;
		|SourceType=DBF;
		|SourceDB=" + КаталогИБ()) = 0
	Тогда
		Возврат 0;
	КонецЕсли; 


Но через этот драйвер получается тормознуто +  он не поддерживает многих полезных ф-ий


Драйвер продолжает настаивать, что он этой функции не поддерживает   Печаль

Код
Выбрать все
State IM001, native 0, message [Microsoft][Диспетчер драйверов ODBC]
 Драйвер не поддерживает данной функции 

  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #7 - 17. Мая 2007 :: 06:51
Печать  
dnp писал(а) 15. Мая 2007 :: 10:09:


Читай сообщение:
DmitrO писал(а) 16. Мая 2007 :: 04:32:
to dnp
Ты путаешь ODBC драйвер и OLEDB провайдер, это две разные вещи (хотя назначение у них одинаковое). ODBC и OLEDB это разные технологии доступа к данным, со своими разными программными компонентами и интерфейсами.
Все поставщики данных ТП работают только с ODBC, для OLEDB не встречал.


Версия vfpoledb.dll к ODBC не имеет никакого отношения.
Тебе нужен vfpodbc.dll
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #8 - 17. Мая 2007 :: 07:05
Печать  
dnp писал(а) 17. Мая 2007 :: 02:49:
[quote author=JohnyDeath link=1179223775/0#1 date=1179224518]
Драйвер продолжает настаивать, что он этой функции не поддерживает   Печаль

Код
Выбрать все
State IM001, native 0, message [Microsoft][Диспетчер драйверов ODBC]
 Драйвер не поддерживает данной функции 


Скачай с майкрософта драйвер. По-моему вот этот. Но могу ошибаться...
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #9 - 18. Мая 2007 :: 03:16
Печать  
Chieftain и DmitrO, да, я не внимательно посмотрел на буковки после "vfpo".
JohnyDeath, драйвер именно тот, по крайней мере на простых запросах -- вполне работает. Входные таблицы у меня вряд ли будут шибко сложными, надеюсь, обойдусь без граблей.

Благодарю.
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #10 - 18. Мая 2007 :: 08:30
Печать  
А если сравнивать (для ДБФ!) табличное поле с поставщиком данных ODBC с одной стороны
и обычный прямой запрос с выгрузкой в ТЗ - работает ли табличное поле быстрее?
Данные загружаются динамически (постранично), как в 8.0 или сразу все?
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #11 - 18. Мая 2007 :: 18:46
Печать  
kiruha писал(а) 18. Мая 2007 :: 08:30:
А если сравнивать (для ДБФ!) табличное поле с поставщиком данных ODBC с одной стороны
и обычный прямой запрос с выгрузкой в ТЗ - работает ли табличное поле быстрее?
Данные загружаются динамически (постранично), как в 8.0 или сразу все?


Сравнивал, работает медленнее, причем значительно - видно даже на глаз (более того, на больщой базе вообще вылетает, на sql все работет без проблем)
  
Наверх
wwwICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #12 - 19. Мая 2007 :: 12:23
Печать  
JohnyDeath писал(а) 16. Мая 2007 :: 05:38:
dnp писал(а) 15. Мая 2007 :: 14:58:
Спасибо. Завтра буду пробовать.
Однако - альтернативные способы DBF-->ТП есть?

Есть такой способ: DBF-->ТЗ-->ТП
Вот например разработка noprogrammer'a Реестр документов + классы для демонстрации возможности прямых запросов

Используй вот этот способ для ДБФ
  

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


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #13 - 19. Мая 2007 :: 20:00
Печать  
Это точно... связка DBF-->ТЗ-->ТП работает на "Ура"...
Я у себя подбор полностью на обработку переписал...
По скорости - в многие разы быстрее, чем список справочника
И в несколько раз при расчете остатков на предыдущие даты
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ODBCdatabase вообще работает с Provider=VFPOLE
Ответ #14 - 21. Мая 2007 :: 14:09
Печать  
Chieftain писал(а) 19. Мая 2007 :: 20:00:
Это точно... связка DBF-->ТЗ-->ТП работает на "Ура"...
Я у себя подбор полностью на обработку переписал...
По скорости - в многие разы быстрее, чем список справочника
И в несколько раз при расчете остатков на предыдущие даты


А обновление ТЗ как?
Полный пересчет каждые 20 сек? И все равно будут проблемы - если пользователь
интерактивно меняет документы...
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать