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