С помощью чего реализовать импорт?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



С помощью чего реализовать импорт? Expand / Collapse
Автор
Сообщение
06.11.2005 21:28
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 29.03.2006 6:49
Сообщ.: 7, Visits: 78
Надо реализовать импорт большого количества(несколько тысяч строк) данных из Excel в MS SQL.
Сначала я написал прграммку на Delphi, которая через com считывает данные из *.xls и вносит их в MS SQL. Но программа работает медленно. (реализована через позднее связывание).

Недавно узнал, что импорт можно осуществлять средствами MS SQL: через DTS и через OpenRowset. Но чтобы обработать данные из Excel перед их вводом в MS SQL придется повозиться, т.к. документы *.xls имеют определённую структуру..

Посоветуете какую технологию лучше использовать.
Или проще будет потратить время на оптимизацию кода в Delphi, чем на изучение этих технологий?
Сообщ. #884184
07.11.2005 11:41
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Я думаю что изучение DTS себя окупит. Тем более в Enterprise Manager есть wizard помогащий создать пакет преобразования.
Сообщ. #884224
07.11.2005 12:14


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.03.2008 15:26
Сообщ.: 701, Visits: 7 028
Однозначно DTS!
Но чтобы обработать данные из Excel перед их вводом в MS SQL придется повозиться, т.к. документы *.xls имеют определённую структуру..

Повозиться придется в любом случае!
Или проще будет потратить время на оптимизацию кода в Delphi, чем на изучение этих технологий?

А писать текст запросов в коде приложения - вообще порочная практика!
Простой пример - где проще изменить запрос, в одном месте на сервере
или на 10 рабочих станциях пользователей?
Насчет "сложности" изучения... Как и говорил bazile есть визард,
очень простой и понятный.

Сообщ. #884236
07.11.2005 12:50
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 29.03.2006 6:49
Сообщ.: 7, Visits: 78

Большое спасибо за советы!

А вы не подскажите из-за чего при запросе:

SELECT *FROM OpenDataSource( ''''Microsoft.Jet.OLEDB.4.0'''',
''''Data Source="M:\temp.xls";User ID=Admin;Password=;
Extended properties=Excel 5.0'''')...[Прил4$]

возникает ошибка :

Server: Msg 7321, Level 16, State 2, Line 1
An error occurred while preparing a query for execution against OLE DB provider ''''Microsoft.Jet.OLEDB.4.0''''.
[OLE/DB provider returned message: Неизвестный]

и при импорте стандартными средствами SQL Server Enterprise Manager таблицу создает, но когда дело доходит до импорта данных, то пишет ту же выше приведенную ошибку

Эта ощибка является серьёзной преградой для использования DTS.
Причем мне кажется, что вся пробленя в конфигурациях сервера, или в конфигурациях windows, а не в синтаксисе запроса.
(сервер стоит локальный на домашнем ПК).
Подскажите что это может быть ?

я уже пробывал на разны Excel файлах, и тип всех данных выставлял в строковый - не получается..
Сообщ. #884246
07.11.2005 13:37


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.03.2008 15:26
Сообщ.: 701, Visits: 7 028
Попробуй установить (переустановить) MDAC.
Сообщ. #884254
07.11.2005 14:54
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.09.2007 22:12
Сообщ.: 343, Visits: 3 388
А к Excel можно и через АДО подключится (Provider=Jet-Extended Properties=Excel 8.x)
Сообщ. #884263
07.11.2005 16:42
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 29.03.2006 6:49
Сообщ.: 7, Visits: 78
[quote="vpanasenko"]А к Excel можно и через АДО подключится (Provider=Jet-Extended Properties=Excel 8.x)[/quote]

а как это сделать?
при создании *.UDL я такого провайдера не нашёл..
Сообщ. #884277
07.11.2005 20:59
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 29.03.2006 6:49
Сообщ.: 7, Visits: 78
[quote="Silver"]Попробуй установить (переустановить) MDAC.
[/quote]

Переустановка тоже не помогла :-(
Сообщ. #884307
21.12.2005 14:24
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 19.09.2008 13:31
Сообщ.: 106, Visits: 979
Ребята, а через .ТХТ не пробовали?
Экспортнуть в .ТХТ а потом штатными средствами импортнуть.
Быстро и надёжно.
И главное работает в любых версиях :)
Александр