powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / MSSQLServer -> VFP80
6 сообщений из 6, страница 1 из 1
MSSQLServer -> VFP80
    #32965408
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В теме: "ODBC - коннект к фокс-про файлам"
Sergey ChИспользую только OLE DB (VFP, ASP.NET) - работает как часы

А ODBC - как говорится, устарел однако...
Я решил поставить маленький эксперимент. Я понимаю, что я не ГУРУ, поэтому сильно не убивайте пожалуйста. А лучше, о! великие ГУРУ, направьте в нужном направлении. Ведь всегда интересно узнать более новое и лучшее.
Цель эксперимента: узнать скорость получения информации от SQLServer до клиента при различных соединениях (ODBC, OLEDB ODBC, OLEDB SQLServer).
1. На сервере создал таблицу в базе
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE [Provod] (
	[id_prov] [int] NOT NULL ,
	[c_prim] [char] ( 40 ) NULL CONSTRAINT [DF_Provod_c_prim] DEFAULT (''),
	CONSTRAINT [PK_Provod] PRIMARY KEY  NONCLUSTERED 
	(
		[id_prov]
	) WITH  FILLFACTOR =  90   ON [PRIMARY] 
) ON [PRIMARY]
GO
2. Заполнил ее (таблицу) 1 000 000 записями.
3. В VFP создал три формы:
wf_provod_odbc - просмотр записей через ODBC
wf_provod_ado_sqlodbc - просмотр записей через CA->ADO->Provider=MSDASQL.1(OLEDB ODBC)
wf_provod_ado_sqloledb - просмотр записей через CA->ADO->Provider=SQLOLEDB.1(OLEDB SQLServer)
в формах wf_provod_ado_sqlodbc, wf_provod_ado_sqloledb
в LOAD:
Код: plaintext
1.
PUBLIC m.c_time1
m.c_time1 = TIME()
в INT:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT Provod
GO BOTTOM  && Для заполнения всех записей
GO TOP
LOCAL m.c_time2, m.n_sec
m.c_time2 = TIME()
m.n_sec = (VAL(SUBSTR(m.c_time2, 1 , 2 ))-VAL(SUBSTR(m.c_time1, 1 , 2 )))* 3600  + ;
          (VAL(SUBSTR(m.c_time2, 4 , 2 ))-VAL(SUBSTR(m.c_time1, 4 , 2 )))* 60  + ;
          (VAL(SUBSTR(m.c_time2, 7 , 2 ))-VAL(SUBSTR(m.c_time1, 7 , 2 )))

THIS.Lbl1.Caption = 'Время:  '+ ALLTRIM(STR(m.n_sec, 25 )) + ' сек.'
в форме wf_provod_odbc
DataEnvironment.Cursor.NoDataOnLoad[ = .F.
в LOAD:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
LOCAL m.c_time1, m.c_time2, m.n_sec
m.n_sec =  0 
m.c_time1 = TIME()

SELECT Provod
=REQUERY()
GO BOTTOM
GO TOP

m.c_time2 = TIME()
m.n_sec = (VAL(SUBSTR(m.c_time2, 1 , 2 ))-VAL(SUBSTR(m.c_time1, 1 , 2 )))* 3600  + ;
          (VAL(SUBSTR(m.c_time2, 4 , 2 ))-VAL(SUBSTR(m.c_time1, 4 , 2 )))* 60  + ;
          (VAL(SUBSTR(m.c_time2, 7 , 2 ))-VAL(SUBSTR(m.c_time1, 7 , 2 )))
THIS.Lbl1.Caption = THIS.Lbl1.Caption +'  '+ ALLTRIM(STR(m.n_sec, 25 )) + ' сек.' 
Результаты эксперимента:
ODBC - 6-8 сек.
OLEDB ODBC и OLEDB SQLServer - 15-19сек.
Может я плохо настраивал CA, т.к. я с ними первый раз работаю. Но результаты таковы...
...
Рейтинг: 0 / 0
MSSQLServer -> VFP80
    #32965429
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тя бить не буду у меня такой же опыт
но кажеться разговор был про делфи
...
Рейтинг: 0 / 0
MSSQLServer -> VFP80
    #32965656
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafно кажется разговор был про делфи
Из темы конечно получается что разговор ODBC->Delphi и OLE DB->Delphi.
А почему у VFP должно быть иначе?
...
Рейтинг: 0 / 0
MSSQLServer -> VFP80
    #32967176
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Владимир СА!

Ну фоксу ЯВНО сложнее переводить ADO RS в курсор чем ODBC данные. Другой вопрос что многих фишек ADO в ODBC просто нету. А если касаться ИМЕННО VFP ODBC и VFP OLE DB - то тут вообще БЕЗ вопросов - ODBC 6-й версии, а OLE DB - 9-й :)
Из настроек - ну если не лень, то попробуй с разными типами CursorType/CursorLocation для ADO...

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
MSSQLServer -> VFP80
    #32967646
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну собственно ответили
добавлю тока что насколько я знаю и понимаю делфи более приспособлен к адо а фокспро к одбс по крайней мере 6,7
так уж жизнь устроена такие правила игры
может в 9 что измениться
...
Рейтинг: 0 / 0
MSSQLServer -> VFP80
    #32967731
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем! Начинаю более детально изучать CursorAdapter->ADO . Тема закрыта.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / MSSQLServer -> VFP80
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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