Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
andreymxа есть готовый пример, как из vba (именно из vba) из экселя массово закинуть данные в мсскл в обычную таблицу? или ссылку на такой пример построчный инсерт я делал, хочется массово я регулярно делаю экспорты из Excel в базу для репортов. Сейчас у нас почти 100 пользователей по всему миру, от Австралии до Аргентины. По опыту вывел несколько простых правил которые работают и востребованны: 1. Вообще как бы не казалось это устаревшим в 2к19 но экпорт через эксель все еще работает. Новый источник подключается за пару дней. ВСЕ пользователи умеют более мение вставлять в таблички циферки. Можно встроить первичную валидацию данных в VBA сразу же еще до загрузки. Пока вы получите рабающий импорт из SAP - пройдут годы. А ведь нам ехать а не шашечки. 2. Батч загрузка файлов типа из общей папки по расписанию раз в день - удобно для ETL, но плохо для бизнеса. Ждать сутки это убивает и скорость работы и мотивацию пользоваться решением. Решение - псевдо онлайн. Эксель сам лоадит данные в таблицы и ставит семафор - что новые данные доступны. Джоб с расписанием на сервере раз в 5 минут следит за этим и запускает весь ETL. Результат - нажали кнопку в экселе, через 15 минут данные в отчетах уже видны. 3. Через Эксель реально выгружать что-то объемом до 100К строк. Это покрывает часто 90% потребностей бизнеса. Позволяет запустить проект максимально быстро, а потом добиваться уже нормальных источников по мере их доступности. 4. Дальнейшая эволюция импорта данных - мы убираем маленькие таблицы и справочники из Экселя во WriteBack/MDM. Это еще быстрее, еще удобнее ну и красивее. (Не стыдно и кому показать, в отличии от...) 5. В чем минус экселя для ввода данных - сложности с обновлением структуры и доработками кода VBA. Если у вас 100 пользователей, то как обновить им шаблон и код? Это сложно. Постоянно кто-то будет юзать старую версию, неудобно переносить данные и т.п. Здесь решается пунктом 4 - все что можно вводить через MDM - выносим туда. В итоге в экселе меньше данных, реже надо обновлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 11:12 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
andreymxalexeyvgпропущено... Обычно это эксель файлы, присылаемые контрагентами, часто случайными, или такими, с которыми дела делаются раз в год. Там с трудом добиваются, что бы они не передавали данные по факсу, или устно по телефону, куда там интегрировать их систему в свою :-)бардак автоматизировать невозможно (с) Не пробовали им сайт сделать, пусть вводят сами? что вводят?? простыню из 10000 строк??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 11:15 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
andreymxа есть готовый пример, как из vba (именно из vba) из экселя массово закинуть данные в мсскл в обычную таблицу? или ссылку на такой пример построчный инсерт я делал, хочется массово я делал построчно, но батчами по максимально возможному количеству строк (сколько в 32к vba переменную влезет) типа: insert into ... select 'data','data','data' union all select 'data2','data2'..... commit. так получается быстрее всего. Можно десятки тысяч строк вполне быстро экспортить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 11:17 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
Ivan Durakandreymxа есть готовый пример, как из vba (именно из vba) из экселя массово закинуть данные в мсскл в обычную таблицу? или ссылку на такой пример построчный инсерт я делал, хочется массово я делал построчно, но батчами по максимально возможному количеству строк (сколько в 32к vba переменную влезет) типа: insert into ... select 'data','data','data' union all select 'data2','data2'..... commit. так получается быстрее всего. Можно десятки тысяч строк вполне быстро экспортитьтак тоже делал Только с переменными Там ограничение - 2000 переменных на запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 11:59 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
andreymxа есть готовый пример, как из vba (именно из vba) из экселя массово закинуть данные в мсскл в обычную таблицу? или ссылку на такой пример построчный инсерт я делал, хочется массово Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 13:38 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
это не совсем то т.к. тебе из экселя придется сделать csv. И его придется так же генерить vba. Сомневаюсь, что save as csv получиться. И по факту что csv сгенерить, что в базу закинуть - сравнимая скорость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 14:45 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
Ivan Durakandreymxа есть готовый пример, как из vba (именно из vba) из экселя массово закинуть данные в мсскл в обычную таблицу? или ссылку на такой пример построчный инсерт я делал, хочется массово я делал построчно, но батчами по максимально возможному количеству строк (сколько в 32к vba переменную влезет) типа: insert into ... select 'data','data','data' union all select 'data2','data2'..... commit. так получается быстрее всего. Можно десятки тысяч строк вполне быстро экспортить У меня код выглядит покомпактнее. Я набираю строку на загрузку по принципу insert int MyTable(Column1, Column2,...) Values (Data1,Data2,.....), (Data1,Data2,.....), (Data1,Data2,.....) у этого метода есть ограничение 1000 строк - я для подстраховки, чтобы переменная не перегрузилась (в таблице 30 столбцов) гружу порциями по 500 строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 16:43 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
Ivan Durakэто не совсем то т.к. тебе из экселя придется сделать csv. И его придется так же генерить vba. Сомневаюсь, что save as csv получиться. И по факту что csv сгенерить, что в базу закинуть - сравнимая скорость. Это будет раз в десять быстрее, чем вся мышиная возня с vba. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 17:43 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
andreymx, Построчный инсерт, это как? Типа =CONCATenate('INSERT INTO MyTable '; A1; ','; B1;','; ; C1;';') Потом размножить это вниз по воркшиту, copy-paste в MSSQL и вперед? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 18:45 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
Glebanskiandreymx, Построчный инсерт, это как? Типа =CONCATenate('INSERT INTO MyTable '; A1; ','; B1;','; ; C1;';') Потом размножить это вниз по воркшиту, copy-paste в MSSQL и вперед?не, не так Это на каждую строку экселя инсерт или вызов хп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 20:02 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
Можно не конвертить в csv и не возиться с vba. Можно подключать excel-файл как линкед-сервер и работать с ним, как с таблицей! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2019, 12:13 |
|
||
|
Проектирование механизма импорта данных в БД
|
|||
|---|---|---|---|
|
#18+
MegabyteМожно не конвертить в csv и не возиться с vba. Можно подключать excel-файл как линкед-сервер и работать с ним, как с таблицей! Эксель у пользователей локально на их ноутах разбросанных по всему миру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2019, 11:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39790831&tid=1688060]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 398ms |

| 0 / 0 |
