Страница: 1 | 2 |
Вопрос: Огромная база данных
Добавлено: 16.05.05 10:01
Автор вопроса: Arseny | ICQ: 298826769
Ответы
Всего ответов: 27
Номер ответа: 16
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #16
Добавлено: 17.05.05 10:33
а как через ADO подключить dbf?
Номер ответа: 17
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #17
Добавлено: 17.05.05 12:10
После преобразования численного поля в текстовое
перед числами добавляются пробелы (дополняет до длины
поля). Мне же надо дабы цифры стояли сначала.
Никаких преобразований не происходит. Просто числа в таком виде (с пробелами в левой части) и храняться в полях.
Если у тебя длина числового поля равна 10 байтам, а число например 123, то в поле это храниться как 7 пробелов плюс 3 символа.
Номер ответа: 18
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #18
Добавлено: 17.05.05 14:12
Да какая в общем-то разница, все равно без пробелов надо.
И КАК же все-таки мне импортировать побыстрее?
Номер ответа: 19
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #19
Добавлено: 17.05.05 14:28
Да какая в общем-то разница, все равно без пробелов надо.
Тут сама причина сомнительна.
Надо просто поменять тип. Для поиска по LIKE. Заметил, что почему-то
с текстом выборка идет быстрее. А на первом пне очень ощутимо быстрее.
Может всё таки средства несопоставимы с задачей?
Pentium 1 + VB + DAO натравить на базу в 1.5 млн записей? Да ты просто мазохист какой то
Номер ответа: 20
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #20
Добавлено: 17.05.05 14:45
Ну импорт будет происходить на нормальной машине... где-то раз в месяц. А остальное время поиск идет уже на первом пне. Кстати с индексами даже очень неплохо.
Номер ответа: 21
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #21
Добавлено: 17.05.05 15:05
2 HOOLIGAN:
Нельзя Update для всех записей делать разом, т.к. дело имеем с DAO. Это не ADO по определению.. Прав sne, потестить бы DAO vs ADO... Благо DAO я не знаю, а ADO (да и DAO), подключал бы через Refrences.
Номер ответа: 22
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #22
Добавлено: 17.05.05 15:21
2 CyRax:
Почему бы тебе нам не показать свой супер-профессионазизм в asm и знании Asm... И оформить это в виде примера на LASM
2 arseny:
> а как через ADO подключить dbf?
Просто,
Project -> Refrences... Microsoft ActiveX Data Objects 2.6 Library
Sub ADOTest()
Dim str As String
Dim cn As New ADODB.Connection
str = 'Здесь ConnectionString для DBF
cn.Open str
'Здесь делаешь что-то с подключением
Set cn = Nothing
End Sub
Номер ответа: 23
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #23
Добавлено: 17.05.05 15:29
Попробую............
Номер ответа: 24
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #24
Добавлено: 17.05.05 15:45
2 CyRax:
Почему бы тебе нам не показать свой супер-профессионазизм в asm и знании Asm... И оформить это в виде примера на LASM
Лень просто. Мог бы на спор тебе доказать что ты ламер используя не ASM, а тот же PowerBasic, но тоже лень
Номер ответа: 25
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #25
Добавлено: 17.05.05 16:02
Алгоритм такой. Создаётся проекция файла базы на память. Ищется смещение к первому полю и в цикле с шагом размера записи в каждом поле производится аналог Trim, который к стати лучше заменить на LTRIM$.
Номер ответа: 26
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #26
Добавлено: 17.05.05 16:32
Тады извиняйте, я всегда с ado делал, подумал, что в dao также.
Номер ответа: 27
Автор ответа:
Junior
Вопросов: 8
Ответов: 15
Профиль | | #27
Добавлено: 18.05.05 18:54
2 mc-black
Option Explicit
Sub ADOTest()
 im str As String
 im cn As New ADODB.Connection
str = 'Здесь ConnectionString для DBF
cn.Open str
'Здесь делаешь что-то с подключением
Set cn = Nothing
End Sub
А не подскажете, почему при реализации этого кода, на открытие базы ругается Automation Error?