Вопрос : Доступ 2007 медленный к соединению к базе данных Oракул

Oh wisdomed гуру доступа на максимуме,
I имейте некоторое Кодего которое освежает свои соединения таблиц к базе данных оракула.  По какой - либо причине оно принимает очень долгое время (от 3 до 5 минуты) выполнить один или два миллиона соединение и я интересую если любое smogло взглянуть на моем Кодем для того чтобы предложить изменение или фишку? class= " lineNumbers " >
1 >

Ted


Many: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: fncRelink функции " prettyprint " " class= id= " codeSnippet766792 >
Public () как длиной
'функция для того чтобы relink таблицы оракула к базе данных
На ошибке переход Err_Handler
fncRelink = 0
Затемните CLink как шнур
CLink = «ODBC; DSN=ADSN; Password=MyPassword; DBQ=ADSN; DBA=W; APA=T; EXC=F; FEN=T; QTO=T; FRC=10; FDL=10; LOB=T; RST=T; BTD=F; BAM=IfAllSuccessful; NUM=NLS; DPM=F; MTS=T; MDI=F; CSR=F; FWC=F; FBS=64000; TLO=O; »
Тусклый td как DAO.TableDef
Для каждого td в CurrentDb.TableDefs
  Если (Len, то (td. Соедините) > 0) после этого
     Таблица Debug.Print «Relinking: » & td. Имя
     td. Соединитесь = CLink
     td.RefreshLink
  Закончитесь если
Затем

Debug.Print «Relink после того как они завершены.»

Quit_Handler:
Выходите функция

Err_Handler:
    MsgBox Err.Description, vbInformation, «ReLink»
    Err.Number = 0
    Резюме Quit_Handler
Функция конца
class= " ясное " > 
class=

Ответ : Доступ 2007 медленный к соединению к базе данных Oракул

сценарий бежит через ОБЪЯВЛЕНИЕ, получает все группы распределения и для каждое одного создайте отдельно рабочий лист внутри первенствуйте и перечислите их члены.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
Вариант точный

Тусклое adoCommand, adoConnection, strBase, strFilter, strAttributes
Тусклое objRootDSE, strDNSDomain, strQuery, adoRecordset, strName, groupType, groupName, iRow
Тусклое objExcel, arrMembers, strMember

'Предметы СУЕТЫ установки.
Установите adoCommand = CreateObject («ADODB.Command»)
Установите adoConnection = CreateObject («ADODB.Connection»)
adoConnection.Provider = «ADsDSOObject»
adoConnection.Open «активно провайдер директории»
adoCommand.ActiveConnection = adoConnection

'Домен директории поиска весь активно.
Установите objRootDSE = GetObject («LDAP: //RootDSE»)
strDNSDomain = objRootDSE.Get («defaultNamingContext»)
strBase = ""

'Фильтр на группах распределения.
strFilter = «(objectCategory=group)»

'Список размежеванный запятым значений атрибута, котор нужно восстановить.
strAttributes = «distinguishedName, член, groupType, имя»

'Построьте вопрос синтаксиса LDAP.
strQuery = strBase & «; » & strFilter & «; » & strAttributes & «; поддерево»
adoCommand.CommandText = strQuery
adoCommand.Properties («размер страницы») = 100
adoCommand.Properties («перерыв») = 30
adoCommand.Properties («тайник приводит к») = ложно

'Побегите вопрос.
Установите adoRecordset = adoCommand.Execute

Установите objExcel = CreateObject («Excel.Application»)
С objExcel
.SheetsInNewWorkbook = 1
. Workbooks.Add
. Видимо = True

'Перечислите приводя к recordset.
Не сделать до adoRecordset.EOF
'Восстановите значения и индикацию.
strName = adoRecordset.Fields («distinguishedName»). Значение
groupType  = adoRecordset.Fields («groupType»). Значение
groupName  = заменяет ть (adoRecordset.Fields («имя»). Значение, «CN=», "")

'получите только группы распределения
если groupType=2 или groupType=4 или groupType=8 после этого
	irow=1
	.ActiveWorkbook.Worksheets.Add
	groupName .ActiveSheet.Name=
	arrMembers = adoRecordset.Fields («член»). Значение

	Группа распределения Wscript.Echo «: » & strName
	Если IsNull (arrMembers) после этого
		Wscript.Echo «--  »
	Еще
		Для каждого strMember в arrMembers
			Wscript.Echo «-- » & strMember
			Установите objRootDSE = GetObject («LDAP: /«&strMember)
			. Клетки (iRow, 1) = заменяет ть (objRootDSE.Name, «CN=», "")
			irow=irow + 1
		Затем
	Закончитесь если
Закончитесь если
'Двиньте к следующему показателю в recordset.
adoRecordset.MoveNext
Петля
. Колонки (1).entirecolumn.autofit
Конец с

'Очистьте вверх.
adoRecordset.Close
adoConnection.Close
Установите objExcel = ничего
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us