|
|
|
Множественная вставка в базу...
|
|||
|---|---|---|---|
|
#18+
Ституация: НЕОБХОДИМОСТЬ ВСТАВКИ В НЕСКОЛЬКО ТАБЛИЦ ИЗ XML-файла Исходные данные: Есть XML-файл с некоторым объемом данных (28 тыс. записей суммарно в нескольких ветвях). Читаем формируем скрипт типа insert into aaa(PK,b,c,d,e,f,r) values (1,2,3,4,5,6); insert into aaa(PK,b,c,d,e,f,r) values (1,2,3,4,5,6); insert into aaa(PK,b,c,d,e,f,r) values (1,2,3,4,5,6); ... ... insert into aaa(PK,b,c,d,e,f,r) values (1,2,3,4,5,6); Итого около тысячи "инсертов". Затем аналогично заполнять нужно еще 4 таблицы. Проблема: каким образом возможно использовать компоненты IBExpress или другие, что бы решить сей вопрос? По умолчанию известно, что компоненты типа IBSQL или IBQuery позволяют работать ТОЛЬКО с одной камондой SQL. Но в данной ситуацией требуется обработка весьма длинного скрипта(повторюсь 28 тыс.записей) + такой файл приходит 2 раза в месяц и его нужно нормально положить в базу. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 09:04 |
|
||
|
Множественная вставка в базу...
|
|||
|---|---|---|---|
|
#18+
>> По умолчанию известно, что компоненты типа IBSQL или IBQuery позволяют работать ТОЛЬКО с одной камондой SQL ??? ibsql -i <файл_с_коммандами> -o <файл_протокола> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 09:38 |
|
||
|
Множественная вставка в базу...
|
|||
|---|---|---|---|
|
#18+
>> По умолчанию известно, что компоненты типа IBSQL или IBQuery позволяют работать ТОЛЬКО с одной камондой SQL ??? спасибо за рекомендацию - поробую. А насчет одной команды проверено. Только 1 инсерт, а далее просто говоритиься о том, что "токен неизвестен - INSERT." В принципе логично. Ошибся я только в корректоности названия не SQL, но DSQL - в нотации борланда. И еще по данному совету требуется запускать ibsql отдельно (ну или из софта - неважно). А можно ли пользуясь стандартными компонентами эту задачу решить. Дело в том, что работу по закачке XML-файла в БД ,будет производить пользователь. И не хотелось бы, что бы он видел загрузку другой программы, в лучшем случае ProgressBar. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 09:50 |
|
||
|
Множественная вставка в базу...
|
|||
|---|---|---|---|
|
#18+
IBScript в IBX, но я не пробовал, хотя должно работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 10:50 |
|
||
|
Множественная вставка в базу...
|
|||
|---|---|---|---|
|
#18+
Так !!! Берем TIBSQL и пишем следущее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. И все работает за считанные секунды ! Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 11:03 |
|
||
|
Множественная вставка в базу...
|
|||
|---|---|---|---|
|
#18+
По поводу ISQL... делаем 2 файла 1-й x.bat; с содержимым: SET ISC_USER=SYSDBA SET ISC_PASSWORD=masterkey "C:\Program Files\firebird\bin\isql" -i x.sql -o x.log 2-й x.sql connect "c:\tst\tst.gdb"; create table tst(tst numeric(9,9)); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); insert into tst values (1.1); commit; select * from tst; exit; Содержимое x.log: TST ============ 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 1.100000000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 11:07 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=475&tid=1578793]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 386ms |

| 0 / 0 |
