Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 как выполнить инсерт из excel файла?  [new]
easy insert
Guest
Есть файл excel с двумя полями, 1000 строк.
Нужно вставить в таблицу в БД все эти значения.


должно быть что-то, что в цикле перебирает все строки
из файла excel и вставляет в таблицу в БД.

подскажите, как реализовать?
3 июл 13, 18:26    [14518529]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
easy insert,
чтото может быть чем угодно) начиная с vbscript и заканчивая ассемблером... может всё же стоит пошукать на форуме? за тебя программировать никто не будет))
3 июл 13, 18:31    [14518542]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
easy insert
Guest
Vint
easy insert,
чтото может быть чем угодно) начиная с vbscript и заканчивая ассемблером... может всё же стоит пошукать на форуме? за тебя программировать никто не будет))

на pl sql задача решаема?
3 июл 13, 18:33    [14518550]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
MazoHist
Guest
Операция единоразовая? Если да, то:

1. в свободной ячейке пишем
=СЦЕПИТЬ("select '";A2;"' FIELD1, ";B2;" FIELD2 from dual union all")
(строковые значения берем в одинарные кавычки)
2. протягиваем до нижней ячейки (excel плохо знаю, можно в 3 нажатия на клавиатуре)
3. выделяем все это безобразие, копируем в редактор, удаляем последний union
4. дописываем сверху INSERT INTO TABLE (FIELD1, FIELD2)
5. запускаем
6. PROFIT!

вместо select в формуле можно сразу писать insert into ...
3 июл 13, 18:53    [14518611]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
easy insert
на pl sql задача решаема?


Если напишешь Excel на PL/SQL - конечно.
3 июл 13, 18:53    [14518612]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
easy insert
Guest
MazoHist
Операция единоразовая? Если да, то:

1. в свободной ячейке пишем
=СЦЕПИТЬ("select '";A2;"' FIELD1, ";B2;" FIELD2 from dual union all")
(строковые значения берем в одинарные кавычки)
2. протягиваем до нижней ячейки (excel плохо знаю, можно в 3 нажатия на клавиатуре)
3. выделяем все это безобразие, копируем в редактор, удаляем последний union
4. дописываем сверху INSERT INTO TABLE (FIELD1, FIELD2)
5. запускаем
6. PROFIT!

вместо select в формуле можно сразу писать insert into ...


да, задача единоразовая.
не совсем понял, в какой редактор копируем?
у меня не получилось так..

получилось
 =СЦЕПИТЬ("select '";A2:A9;"' FIELD1, ";B2:B9;" FIELD2 from dual union all")


и куда это вставлять?
3 июл 13, 19:07    [14518645]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
Стоп--кран
Guest
Себе в зад попробуй
3 июл 13, 19:12    [14518657]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
easy insert
..
да, задача единоразовая
..

не мучайтесь дурью. сохраните как *.csv и загрузите лодером (он же - утилита sqlload)
3 июл 13, 19:13    [14518663]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
easy insert
Guest
orawish
easy insert
..
да, задача единоразовая
..

не мучайтесь дурью. сохраните как *.csv и загрузите лодером (он же - утилита sqlload)


ок, спасибо за подсказку.

решил воспользоваться sqlloader в toad.
создал табличку, куда буду импортировать.
файл создал с расширением CSV.

вопрос: toad просит указать путь к control file name и
log file name.

где взять эти файлы?
3 июл 13, 19:37    [14518759]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
easy insert
orawish
пропущено...

не мучайтесь дурью. сохраните как *.csv и загрузите лодером (он же - утилита sqlload)


ок, спасибо за подсказку.

решил воспользоваться sqlloader в toad.
создал табличку, куда буду импортировать.
файл создал с расширением CSV.

вопрос: toad просит указать путь к control file name и
log file name.

где взять эти файлы?

где взять, где взять? купить..
типа.ctl
LOAD DATA
INFILE 'ляля.csv'
APPEND
INTO TABLE "ЛЯЛЯЛЯ"
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
ляля1
,ляля2
)

а log - вам лодер напишет.
вообще, в документации по утилитам всё есть
3 июл 13, 19:46    [14518788]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
easy insert,

Набрать в гугле sqlldr и прочитать как он работает( первая ссылка же! ) и для чего ему контрол файл. Быстро, решительно.
3 июл 13, 19:47    [14518795]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
easy insert
Guest
orawish
easy insert
пропущено...


ок, спасибо за подсказку.

решил воспользоваться sqlloader в toad.
создал табличку, куда буду импортировать.
файл создал с расширением CSV.

вопрос: toad просит указать путь к control file name и
log file name.

где взять эти файлы?

где взять, где взять? купить..
типа.ctl
LOAD DATA
INFILE 'ляля.csv'
APPEND
INTO TABLE "ЛЯЛЯЛЯ"
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
ляля1
,ляля2
)

а log - вам лодер напишет.
вообще, в документации по утилитам всё есть

ура!!!!!!!!!!!!!

получилось!!!!!!!

спасибо!!!!!!!!!!!!!!!!!!!!!!

я счастлив!
3 июл 13, 20:22    [14518895]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
Оракл нуб
Guest
[quot easy insert]
orawish
пропущено...
решил воспользоваться sqlloader в toad.
создал табличку, куда буду импортировать.
файл создал с расширением CSV.


Тю, тоад давно поддерживает копипаст из экселя, Ctrl+C / Ctrl+V в окно редактирование данных и фсе
3 июл 13, 20:26    [14518911]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Оракл нуб
..
Тю, тоад давно поддерживает копипаст из экселя, Ctrl+C / Ctrl+V в окно редактирование данных и фсе

ой, да давно знают это все, кому оно надо.
мышевозилово гуёвое, по сравнению с правильными технологиями - моветон и, тупо, оффтоп
4 июл 13, 01:22    [14519824]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
orawish
Оракл нуб
..
Тю, тоад давно поддерживает копипаст из экселя, Ctrl+C / Ctrl+V в окно редактирование данных и фсе

ой, да давно знают это все, кому оно надо.
мышевозилово гуёвое, по сравнению с правильными технологиями - моветон и, тупо, оффтоп
для разовых работ мышевозилово гуёвое - самое то
4 июл 13, 08:31    [14520088]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
andreymx
orawish
пропущено...

ой, да давно знают это все, кому оно надо.
мышевозилово гуёвое, по сравнению с правильными технологиями - моветон и, тупо, оффтоп
для разовых работ мышевозилово гуёвое - самое то

ага. только еще добавьте к слову разовые:
1) бесконтрольно-безответственные,
2) над данными, не имеющими конфликтов
3) и по объему таки маленькие
4 июл 13, 12:21    [14521392]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
orawish
andreymx
пропущено...
для разовых работ мышевозилово гуёвое - самое то

ага. только еще добавьте к слову разовые:
1) бесконтрольно-безответственные,
2) над данными, не имеющими конфликтов
3) и по объему таки маленькие
ни разу не согласен
мне иногда (когда идёт этот процесс) каждый день пересылают данные переоценки ОФ, там файлик на 60 тыс строк (конечно, не сто мильёнов...)
и каждый раз разная структура и разное наполнение
и говорят - через 3 часа ВОТ ЭТО весь комбинат должен видеть и корректировать

так еслип не моя гуёвина, так я б давно повесился
4 июл 13, 12:29    [14521456]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
4 гуе-шага - и данные в БД

К сообщению приложен файл. Размер - 132Kb
4 июл 13, 13:27    [14521974]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
andreymx
orawish
пропущено...

ага. только еще добавьте к слову разовые:
1) бесконтрольно-безответственные,
2) над данными, не имеющими конфликтов
3) и по объему таки маленькие
ни разу не согласен
мне иногда (когда идёт этот процесс) каждый день пересылают данные переоценки ОФ, там файлик на 60 тыс строк (конечно, не сто мильёнов...)
и каждый раз разная структура и разное наполнение
и говорят - через 3 часа ВОТ ЭТО весь комбинат должен видеть и корректировать

так еслип не моя гуёвина, так я б давно повесился

ну, что сказать? сочувствую.
и тем не менее:
про не_стомильёнов вы сказали
про конфликты данных - вопрос открыт
ну и безответственность (очевидно, что не Ваша ;) налицо.
4 июл 13, 13:49    [14522137]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
orawish
ну и безответственность (очевидно, что не Ваша ;) налицо.
не сказал бы
просто это сторонняя аудиторская фирма, выполняющая определенного вида работы для нас же
общий состав полей мы с ней оговаривали еще 10 лет назад
но год от года он меняется
такая условно-постоянная работа :)

да и помимо этого - аналитики чуть ли не каждый день присылают эксели для предварительной закачки в БД - тут вы правы по всем статьям (конфликты и т.д) - но все равно, простота использования покрывает все недостатки
- многие из них сами уже пользутся
4 июл 13, 14:05    [14522249]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
easy insert
Guest
у меня такой вопрос возник.

какой тип данных создавать в таблице для столбца, куда будут загружаться данные?

загружаю данные из mssql. там есть столбцы, которые содержат цифренные
значения с запятой в качестве разделителя. например: 12,76

чтобы вставить это в oracle - нужно предварительно изменить запятую на точку?
если я хочу чтобы тип данных был у меня Number?
4 июл 13, 15:30    [14522972]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
123йй
Member

Откуда:
Сообщений: 1637
easy insert,
автор
какой тип данных создавать в таблице для столбца, куда будут загружаться данные?

автор
если я хочу чтобы тип данных был у меня Number?

это же элементарно Ватсон (с)
4 июл 13, 15:42    [14523066]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
easy insert
Guest
123йй
easy insert,
автор
какой тип данных создавать в таблице для столбца, куда будут загружаться данные?

автор
если я хочу чтобы тип данных был у меня Number?

это же элементарно Ватсон (с)


О! Точно, Холмс!

я просто выбираю между varchar2 и number.

хочется number, но тогда я должен заменить в csv файле запятые на точки, да?
4 июл 13, 15:48    [14523125]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
123йй
Member

Откуда:
Сообщений: 1637
easy insert,
автор
значения с запятой в качестве разделителя. например: 12,76

не верь глазам - смотри тип
SQL> select 12.51 dig from dual;
 
       DIG
----------
     12#51
 
SQL> 
4 июл 13, 15:49    [14523131]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить инсерт из excel файла?  [new]
123йй
Member

Откуда:
Сообщений: 1637
easy insert,
автор
загружаю данные из mssql

автор
но тогда я должен заменить в csv файле запятые на точки

так что и как ?
автор
хочется number

приводите к number, указывайте разделитель
4 июл 13, 15:52    [14523161]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить