|
|
|
DTS - EXCEL - > SQL server. И полный едрён-батон растудыть налево.
|
|||
|---|---|---|---|
|
#18+
На вопрос ЗАЧЕМ???? отвечать не буду (а нада!!!!!). EXCEL есть EXCEL и его универсальность подбрасывает за пазуху уйму подводных камней. Короче, искал, но не нашел топик про эту же проблему - КАК ИМПОРТИРОВАТЬ ДАННЫЕ ИЗ EXCEL В SQL server? И не просто импортировать, а корректно. Что получается сейчас. Есть несколько файлов EXCEL, в которых лежит и тихо сопровождается справочная информация. Задача заключается в том, чтобы как можно чаще обновлять эту информацию в SQL server-е. Чтобы было всем нескучно - имеют место быть дополнительные приблуды: - Не все списки начинаются с первой строки. - Нет поименованных диапазонов. - Файлы доступны только для чтения. - В колонках могут быть разнотипные данные. Это одна из главных головных болей. Разнотипные - "11023" и ".009567-17к", например (Слава Богу, что не дата или размер сапог в поле ФИО). Что творит DTS: - Требует, чтобы файл был открыт для записи. - Если нет поименованных диапазонов, считает, что заголовки списка в первой строке. - Если натыкается в поле на число (даже если задан текстовый формат) импортирует только то, что можно считать таковым, в остальных случаях - Null. Предполагается обновление делать все-таки один раз, но не хотелось бы вручную. Пока вижу два пути: - копировать инфу в буферный файл, причесывать, как надо, и импортировать. - заполнять таблицы рекордсетом, но, есть подозрение, что это долго и нудно. Может есть свежий взгляд со стороны? Киньте мне его, пожалуйста. Только не в голову, а то зазвенит - коллеги будут смеяться. Еще такая вещь, уже для интереса. Пробовал в SQL Query Analyzer получить данные таким туповатым способом: Select * From [C:\Doc\MyFile.xls] или Select * From [Excel 10.0, Database=C:\Doc\MyFile.xls] получил крупного размера облом. А в принципе такое возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:47 |
|
||
|
DTS - EXCEL - > SQL server. И полный едрён-батон растудыть налево.
|
|||
|---|---|---|---|
|
#18+
а ты попробуй так на SQL server построй табличку с одинаковым кол-м полей сделай все поля текстовыми и без всяких индексов и используй DTS без трансформа а после затаскивания-уже на SQL serverе обрабатывай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 11:00 |
|
||
|
DTS - EXCEL - > SQL server. И полный едрён-батон растудыть налево.
|
|||
|---|---|---|---|
|
#18+
- Не все списки начинаются с первой строки и в табличке налы разреши ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 11:02 |
|
||
|
DTS - EXCEL - > SQL server. И полный едрён-батон растудыть налево.
|
|||
|---|---|---|---|
|
#18+
ТатьянаТ "сделай все поля текстовыми и без всяких индексов" С этого и начинал. И Null везде разрешен. Но если DTS "вбил себе в голову", что поле в источнике float, то и копирует только числовые данные, а вместо текстовых - Null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 11:29 |
|
||
|
DTS - EXCEL - > SQL server. И полный едрён-батон растудыть налево.
|
|||
|---|---|---|---|
|
#18+
все больше народу убеждается что XML хотя и сложно поначалу но универсально и удобно )) а вы все текст да эксел .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 11:33 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32259492&tid=1679532]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 353ms |

| 0 / 0 |
