|
|
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
Как БЫСТРО загрузить DBF-ник в IB базу. Структура полей абсолютно сходится (кроме разве что того, что в IB-табличке надо ID генерить). Строк в DBF - дофига (файл весит 11 Mb). "Ручной" перебор курсора в DBF, а затем INSERT в IB - занимает несколько часов. Тем более, частый INSERT не есть гуд для IB :( Как бы это дело ускорить? P.S. В RXLib есть компонента типа "таблица в памяти". Думаю через нее можно, но неохота, чтоб столько памяти жрало :( Может есть другие способы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2003, 14:49 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
Вариантов - куча. Если не охота возится и надо сделать только один раз, то качай IBExpert . Или что-нибудь подобное. Практически везде есть иморт-экспорт. Есть еще варианты с запросом через SQL, перебором полей, и т.п. Но имхо, через грид - это изврат :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2003, 16:01 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
Весь смак в том, что это надо сделать из моей дельфёвой проги :( А как через SQL (обращение к разным базам - если можно поподробнее)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2003, 16:22 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
Дома посмотрю, пришлю кусок кода. Но посмотрев внимательно вопрос, кажется все-таки там без многих Insert не обошлсь. Если в Delphi пишешь, там есть что-то вроде DataPump (за точность написания не ручаюсь), может стоить его попробовать? Или вот еще идея - выгрузи DBF в текстовый файл, а потом загрузи его в IB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2003, 16:44 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
Какие компоненты используешь в своей программе для доступа к IB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 09:10 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
Сейчас IBX, на момент переноса из DB - BDE + IBX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 09:53 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
BDE использовал только для доступа к DBF, а IBX к IB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 10:07 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
2 ant2000: DataPump тоже не покатит, т.к. это все-таки другая прога, а мне надо в собственной. И по-моему, она с IB не фурычит, как-то давно пробовал - не получилось... Я к DBF коннекчусь через стандартную Table (BDE), а к IB - IBPlus (FireBird). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2003, 12:33 |
|
||
|
Подгрузить DBF в IB-табличку
|
|||
|---|---|---|---|
|
#18+
Фурычит :) На момент переноса из DBF, imho, можно обойтись BDE. Или все-таки делай обход DBF и каждую строчку в IB вставляй через Insert. Кстати, вот, по памяти, кажется я делал вот так: IBQuery.SQL.Clear; IBQuery.SQL.Add('Insert into ' + Name_Base+ ' (' +Query.Fields[0].FieldName); For i:=1 to Query.FieldCount-1 do IBQuery.SQL.Add(', '+Query.Fields .FieldName) IBQuery.SQL.Add(') values ('+'"'+Query.Fields[0].AsString+'"'); For i:=1 to Query.FieldCount-1 do IBQuery.SQL.Add(') values ('+'"'+Query.Fields.AsString+'"'); IBQuery.SQL.Add(')'); IBQuery.ExecSQL; Только, за синтаксис не ручаюсь. :) Если в базе есть пустые даты, то там еже надо проверять и н них. Но во всяком случае тормозов не было Query.Next; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2003, 14:22 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32157712&tid=1580524]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 477ms |

| 0 / 0 |
