Вход | Регистрация


1С:Предприятие ::

Метки: 

Чтение файла Excel в sql-базе

Я
   bvn-2005
 
01.11.17 - 15:51
Есть обработка, которая читает экселевский файл и грузит данные в табличную часть документа. Читает достаточно стандартно:

Попытка
   Excel = Новый COMОбъект("Excel.Application");
....
....

Исключение
   Сообщить("Загрузка не выполнена!");
КонецПопытки;

В файловой базе все работает. А вот в базе на sql (postgre, база одна и таже) COMОбъект не создается и сразу проваливается в исключение. Подскажите, как поправить...?
 
 
   Amra
 
1 - 01.11.17 - 15:53
На сервере где соит сервер 1С нет Экселя
   Волшебник
 
Модератор
2 - 01.11.17 - 15:53
Сообщить(ОписаниеОшибки());
   yzimin
 
3 - 01.11.17 - 15:59
А почему не читать в таб док без всяких ком?
   bvn-2005
 
4 - 01.11.17 - 16:13
"Сообщить(ОписаниеОшибки());"
{ВнешняяОбработка.ЗагрузкаНоменклатурыИзExcel.Форма.Форма.Форма(43)}: Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается

"На сервере где соит сервер 1С нет Экселя"
Эксель есть. На этом же сервере с файловой базой все работает
   arsik
 
5 - 01.11.17 - 16:15
(4) наверно проблема с битностью сервера
   СамыйУмный
 
6 - 01.11.17 - 16:17
(4) Или зарегай на серваке ком
   kzot
 
7 - 01.11.17 - 16:19
А экселевский файл где находиться ?
   spiller26
 
8 - 01.11.17 - 16:20
(5) Точно битность офиса и не помню где, нужно прописать в юзерах
   kzot
 
9 - 01.11.17 - 16:22
По правам от кого запущен процесс сервера 1С имеет доступ к этой папке и самому файлу ?
   spiller26
 
10 - 01.11.17 - 16:23
(8) На серваке
Windows 2008 Server x64
создать папку
C:\Windows\SysWOW64\config\systemprofile\Desktop
 
 Рекламное место пустует
   bvn-2005
 
11 - 01.11.17 - 16:23
"А экселевский файл где находиться ?"
Да здесь же, на сервере, в отдельной папке...
   bvn-2005
 
12 - 01.11.17 - 16:23
доступ есть
   spiller26
 
13 - 01.11.17 - 16:25
(10) Еще
на сервере убиваем excel (taskkill /im excel.exe /f)
открываем оснастку "Службы компонентов" (Пуск->Администрирование->Службы компонентов)
в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем "Текущий пользователь", ОК.
Готово
   bvn-2005
 
14 - 01.11.17 - 16:25
"создать папку
C:\Windows\SysWOW64\config\systemprofile\Desktop"
 Есть такая папка
   spiller26
 
15 - 01.11.17 - 16:27
(14) Вот тут почитай http://catalog.mista.ru/public/196323/
всё расписано
   kzot
 
16 - 01.11.17 - 16:28
Проверь перед созданием COMОбъект, возможность получения атрибутов или размера файлов и будешь понимать есть доступ или нет.
   bvn-2005
 
17 - 01.11.17 - 16:32
"...открываем оснастку "Службы компонентов"..."
Не помогло
   spiller26
 
18 - 01.11.17 - 16:33
Совет. Бойся зависших процессов, вручную придеться убивать.
   spiller26
 
19 - 01.11.17 - 16:36
(17) читай тут (15) там более подробно расписано
   d4rkmesa
 
20 - 02.11.17 - 10:03
(0) Если подытожить (15) , то "В итоге все взелетело с использованием ADO и успешно работает."
Установите драйвер ADO и работайте через него.
   Cyberhawk
 
21 - 02.11.17 - 10:07
Переходи на xlsx, все будет работать без всяких СОМ и АДО
   spiller26
 
22 - 02.11.17 - 10:10
(21) COM - зло, чисто Microsoft'овская приблуда
   asady
 
23 - 02.11.17 - 10:29
(0) сохрани эксель в цсв и тупо copy mytemptable from C:\myexcell.csv delimiter ',' CSV



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует