powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ODBC Душит Access<->Oracle???
2 сообщений из 2, страница 1 из 1
ODBC Душит Access<->Oracle???
    #32626073
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть приложение на 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
ODBC Душит Access<->Oracle???
    #32633806
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Внутренний цикл по списку полей нельзя убрать?
2. Попробуй сделать рекордсет реадонли И форвардонли (или он уже такой и есть?).
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ODBC Душит Access<->Oracle???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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