|
|
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
Имеется БД с овер 15 000 записями в одной таблице (id_студента, фото студента). БД - FireBird. Нужно таблицу с фото перекопировать в локальную БД (Оракл). Выполняю средствами DELPHI И вроде как все получается. Но... при попытках вставки сразу всех записей последовательно я получаю сообщение " Out of memory". Собственно оно и понятно, почему. 1. Как можно вставить все записи? Или поделить количество, допустим на 3, и и вставлять в цикле? 2. Как сделать проверку на дубли? Сейчас поле id_студента, - первичный ключ, но при копировании вставилось несколько сот пустых стотрок, так как видимо, сначала вствляется пустая строка, потом значение. Если значение уже есть, то возникает исключение "unigue constant", вставка не происходит, но пустая строка остается. 3. Если делить на 3 цикла, то программа после вставки 10 000 завысает. Вероятно, происходят утечки памяти. КАк это проверить избежать? Вот код вставки Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 15:39 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
15.02.2021 15:39, WНаталья пишет: > при попытках вставки сразу всех записей последовательно я получаю сообщение " Out of memory". > Собственно оно и понятно, почему. почему? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 15:42 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья Как можно вставить все записи WНаталья так как видимо, сначала вствляется пустая строка, WНаталья то возникает исключение "unigue constant" WНаталья то программа после вставки 10 000 завысает WНаталья Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. И покажите DDL таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 15:59 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья при попытках вставки сразу всех записей последовательно я получаю сообщение " Out of memory". Собственно оно и понятно, почему. Не используй датасет, вот и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 16:11 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, прошу прощения, новичок в этом всем. Пытаюсь разобраться. Что такое dll таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 16:39 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, не очень понимаю, как использовать TFDCommand. Допустим, написала я внутри компонента запрос на выборку всех записей. А дальше как использовать его при вставке ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 16:51 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья> Нужно таблицу с фото перекопировать в локальную БД (Оракл). А что такое локальная БД? > Или поделить количество, допустим на 3, и и вставлять в цикле? Не надо делить на 3. Вставляйте по 1 записи, потом сделаете коммит для всей пачки. Для Вашего уровня знаний и разовой задачи этого хватит. > 2. ... при копировании вставилось несколько сот пустых стотрок, Удалите их. > так как видимо, сначала вствляется пустая строка, потом значение. Нет, Оракл такой фигнёй не страдает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 17:11 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья И вроде как все получается. Но... 1. Нужно перейти на query. 2. Вставку делать во временную таблицу, на которой нет никаких триггеров, ограничений и индексов. 3. После заполнения п.2 - вызвать процедуру на сервере (придется её написать), которая сделает остальную работу (проверит и перекинет в нормальную таблицу). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 17:15 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья, грузишь всю таблицу в память, а надо использовать unidirectional ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 17:20 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
Неужели Firebird не линкуется к Oracle? Если линкуется, то дельфи нафиг не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 17:46 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
Через ODBC/JDBC линкуется, конечно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 18:14 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЧерез ODBC/JDBC линкуется, конечно. Но не работает с блобами. Посмотрите уже топики аффтарши. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 18:48 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, да, не линкуется. Оракрл воспринимает блоб как лонг раф и режет его до 32к. (если коротко) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 19:46 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья, тебе не знакомо свойство unidirectional ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 19:51 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья Dimitry Sibiryakov, да, не линкуется. Оракрл воспринимает блоб как лонг раф и режет его до 32к. (если коротко) так это не оракел виноват, а дрова ODBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 19:53 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
MaratIsk, к сожалению нет, не знакомо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 19:54 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
defecatorтак это не оракел виноват, а дрова ODBC Правда? Какой тип данных должен вернуть драйвер чтобы Oracle HS воспринял его как BLOB? SQL_LONGVARBINARY не канает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 20:04 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья MaratIsk, к сожалению нет, не знакомо к предыдущему сообщению приаттачил файл unidirectional - это свойство query создающее однонаправленный набор указываешь UniDirectional := TRUE; и бежишь по набору, формируя insert для целевой бд out of memory не будет, потому что такой запрос не буферизует все записи в памяти, а только текущую запись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 20:08 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov defecatorтак это не оракел виноват, а дрова ODBC Правда? Какой тип данных должен вернуть драйвер чтобы Oracle HS воспринял его как BLOB? SQL_LONGVARBINARY не канает. а чойта не канает ? SQL_BINARY тоже побоку ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 20:16 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
MaratIsk, не вижу у компонента такого свойства. Для ADO есть, а для FireDac - нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 21:09 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья MaratIsk, не вижу у компонента такого свойства. Для ADO есть, а для FireDac - нет выбрось FireDac - для столь простой задачи как перекачка данных достаточно IBDatabase, IBCustomDataSet, IBQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 21:13 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
MaratIsk, IBDatabase в моем случае не вариант. при коннекте к БД получаю ошибку типа "структура БД не поддерживается". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 21:29 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
WНаталья, вариант-вариант :) какая версия у сервера ФБ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 21:36 |
|
||
|
Проблема при вставке большого количества записей из FB
|
|||
|---|---|---|---|
|
#18+
MaratIsk, 3.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2021, 21:40 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40045592&tid=2037618]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 451ms |

| 0 / 0 |
