Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ODBC Душит Access<->Oracle??? / 2 сообщений из 2, страница 1 из 1
28.07.2004, 18:44
    #32626073
selis76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC Душит Access<->Oracle???
Есть приложение на Access которое использует курсоры. (OpenRecordset)
Читает с Oracle 8.1.7 Odbc линк
Вижу что медленно работает. Начал копать. Простая программа на полный скан таблицы в 500 мегабайт дала удивительные результаты.
В не зависимости от мощьности ПК мы имеет скорость в сетевом интерфейсе 80000 байт\с на прием и 60000 байт на отправку. Причем при переходе на гораздо мощный ПК клиента скорость не увеличилась. Сервер - свободен, сетка тоже (можно копировать файлы на приличной скорости 5мб\с с сервера - сетка 100мегабит в т.ч. на клиентах)

Взял утилиту OracleSQL plus которая работает без Odbc и запустил курсор (программа ниже) и надоже - скорость возрасла до 250000 байт\с на прием и на отправку уменшилась до 30000 т.е. Прием возрос. На более мощном
ПК скорость приема увеличилась до 500000 байт\с. Т.е. имеем возрастание на порядок
Можно ли как нибудь оптимизировать работу ODBC?
Это для SQLPlus
SET AUTOPRINT ON
SET TERMOUT OFF
SET HEADS OFF
VARIABLE VREC REFCURSOR
BEGIN
OPEN :VREC FOR SELECT * FROM xxx.tab;
END;
/

Это программа которую вызываем из формы
Private Sub Start_Click()
Dim MyDbs As Database
Dim Rc As Recordset
Set MyDbs = CurrentDb
Set Rc = MyDbs.OpenRecordset("xxx_tab")
Dim FStr As String
Dim Rcount As Long
Dim I As Long
Rcount = 0
Rc.MoveFirst
Rc.CacheSize = 50
Rc.FillCache

While Not Rc.EOF 'And Not Rcount = 1000
For I = 1 To Rc.Fields.Count
FStr = FStr & CStr(Nz(Rc.Fields(I - 1))) & "|"
Next I


FStr = ""
Rc.MoveNext

Rcount = Rcount + 1
If Rcount Mod 50 = 0 Then
Rc.CacheStart = Rc.Bookmark
Rc.FillCache
Me.MyTxt.Caption = "Îáðàáîòàíî " & Rcount & " çàïèñåé"
Me.Repaint
End If

Wend



End Sub

Сергей С

Сергей С
...
Рейтинг: 0 / 0
03.08.2004, 16:44
    #32633806
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC Душит Access<->Oracle???
1. Внутренний цикл по списку полей нельзя убрать?
2. Попробуй сделать рекордсет реадонли И форвардонли (или он уже такой и есть?).
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ODBC Душит Access<->Oracle??? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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