![]() |
|
|
![]()
|
|
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
Есть текстовый файл 2 гига, нужно залить его в БД на MSSQL, в виде одной таблицы, без нормализации.
Как максимально быстро это сделать? Пробовал средствами Импорта в Энтерпрайз менеджер,но он ошибки не обрабатывает, например если в поле int будет текст то глюк происходит, если писать через ADO из DELPHI по одной записи то долго получаеться, говоярят есть еще способы, но пока не нашел, кто что знает научите |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Delphi тут не при чём (во всяком случае "быстро" и "при помощи клиентского приложения" понятия несовместимые даже теоретически), максимально быстро это делается припомощи запроса Bulk Insert - синтаксис и примеры смотреть в справке по MS SQL Server. Сначала залить, потом отлавливать ошибки, можно например залить всё в таблицу текстовыми полями, а уж потом готовую таблицу обрабатывать на наличие ошибок. Если файл в формате csv то можно его либо подключить как внешний сервер и копировать обычным запросом, либо использовать DTS
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Darksquall |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
Vit благодарю,
пробую запрос в Query Analizer
, минут через 10ть останавливаеться,пробую через клиента, вот так
через определенное время появляеться Ошибка (Server: Msg 1105, Level 17, State 2, Line 1 Could not allocate space for object 'Data2005' in database 'DS' because the 'PRIMARY' filegroup is full. The statement has been terminated.), на маленьких файлах естественно работает. Таймаут установил побольше вроде из за него не может. Т.е. одна и та же ошибка,может можно ему как то это место выделить?. что может быть? че т не могу найти,что за ошибка. Это сообщение отредактировал(а) Darksquall - 6.4.2006, 19:08 |
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Не хватает места для файла базы данных. Возможные причины:
1. Стоит ограничение на рост файла в свойствах базы данных 2. Нет места на диске. 3. Используется FAT32 и размер файла переваливает за 4 Gb -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
NTFS стоит. Место на диске есть. Я так думаю дело вот в чем, у меня MSDE стоит, кажись там ограничение на размер БД, он мне больше 2х гигов не дает сделать, говорит Licensed limit 2 гига. Обидно :-( |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Ааа... да есть такое....
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
Продолжение траблов,
поставил нормальную версию MSSQL, бд загружаеться нормально, т.е. 10 млн записей (без индексов) 18минут, с ключем и одним индексом 1 час. Теперь хочу сделать поиск с FullText или contains(*,'Поле'), т.е. быстрый поиск по словам. запрос типа
выдает пустую таблицу, причем даже ошибок нет. Full text search включена c помощю wizarda каталог для слов создан.Язык для поля установлен Neutral,т.к. MSSQL не способен строить Full text search индексы для русских слов. что может быть? почему таблица пустая? |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
А на фига там полнотекстовые индексы если нет текстовых полей? Обычный поиск будет работать лучше. А для распознавания русских слов нужно правильная установка collation. Кроме того на форуме есть правила, о том что каждый новый впрос задают в новом топике, к тому же там где он по теме. В данном случае вопрос к Дельфи не имеет ни малейшего отношения
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
Ок, перенесу вопрос в базы данных, varchar не тесктовое поле?
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Varchar - это строка. Текстовые поля - Text - у них проблема такая что обычными способами в них искать ничего нельзя, поэтому и используются полнотекстовые индексы
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |