
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.11.2008, 14:32
|
|||
|---|---|---|---|
|
|||
VBScript - ,брыстрая перегрузка между двумя ODBC источниками |
|||
|
#18+
Необходимо написать VBS скрипт для сервера сценариев Windows который будет быстро перегружать данные между двумя ODBC источниками. Если конкретно - есть XLS файл с одной таблицей - данные один-к-одному нужно перегрузить в таблицу Oracle. Я написал вариант что-то вроде построчного fetch из recordset-а и AddNew в другой recordset - но работает это неприемлимо медленно и для каждой строки делает COMMIT в оракле. Подскажите какие есть варианты для быстрой перегрузки данных целиком, одной пачкой, или просто как ускорить мой вариант. Возможно есть быстрые варианты без ADODB, пусть даже с использованием third-party компонентов - тоже интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2008, 09:54
|
|||
|---|---|---|---|
VBScript - ,брыстрая перегрузка между двумя ODBC источниками |
|||
|
#18+
Оракловское соединение нужно открывать в режиме adUseClient, рекордсет с параметрами adOpenStatic, adLockBatchOptimistic, а по завершении его заполнения делать единственный UpdateBatch. Если в целевой таблице есть индексы, то можно попробовать добавлять во временную таблицу без индексов, а из нее в целевую insert'ом, возможно это будет быстрее. Вообще хотелось бы посмотреть на существующий скрипт и строку соединения с ораклом в частности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2008, 12:55
|
|||
|---|---|---|---|
|
|||
VBScript - ,брыстрая перегрузка между двумя ODBC источниками |
|||
|
#18+
AntonariyОракловское соединение нужно открывать в режиме adUseClient, рекордсет с параметрами adOpenStatic, adLockBatchOptimistic, а по завершении его заполнения делать единственный UpdateBatch. Если в целевой таблице есть индексы, то можно попробовать добавлять во временную таблицу без индексов, а из нее в целевую insert'ом, возможно это будет быстрее. Вообще хотелось бы посмотреть на существующий скрипт и строку соединения с ораклом в частности. Для теста я пока сделал просто генератор данных, без загрузки из Excel Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Както медленно всетаки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2008, 12:56
|
|||
|---|---|---|---|
|
|||
VBScript - ,брыстрая перегрузка между двумя ODBC источниками |
|||
|
#18+
Driver для DSN-а - Oracle in OraDb10_10g_home1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2008, 13:28
|
|||
|---|---|---|---|
VBScript - ,брыстрая перегрузка между двумя ODBC источниками |
|||
|
#18+
CacheSize лучше убрать, а что за UpdateBatch 3 не понятно. Такой константы в AffectEnum нет. Да и не нужен там параметр — все записи новые. В остальном вроде все в порядке. Но для надежности лучше написать так: Код: plaintext 1. 2. Еще можно попробовать взять DTS от MSSQL 2000, он переливает данные заметно шустрее, чем подобные скрипты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=22&mobile=1&tid=1455582]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 381ms |

| 0 / 0 |
