6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
|
|||||||||||
1 | |||||||||||
1C 8.x (тонкий) ADODB перестало работать в 8.318.05.2015, 11:03. Показов 27362. Ответов 15
Метки нет (Все метки)
Добрый день, всем.
Буду признателен за советы, мысли, как решить неожиданно возникшую проблему с 1С 8.3. Имеем 1С 8.3.5.15.17, через MSSQL2008, MSOffice 2007. Всё лицензионное. Недавно перешли с 8.2 на 8.3 . До переход использовалась специальная процедура: записать в file MSAccess2007 некоторую информацию, выглядело это так:
После перехода на 8.3 столкнулся с проблемою, что Open не даёт соединения - просто упорно выдаёт ошибку. Ошибка подключения к Access: {ОбщийМодуль.АС_ОСЧ.Модуль(212)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Access Database Engine): 'E:\MyDB\MyFile.accDB' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides. Ошибки на создания ComObject нет. Появляется на любой машине с любыми правами. Естественно (для тестов) диск Е взят локальный (не сетевой) к базе вообще (MyFile.accDB) вообще никто не подключен; запускается от имени администратора - т.е. все полные права. Если взять запустить через WIndows->RUN "E:\MyDB\MyFile.accDB", то всё открывается, всё видно. Для тестов вообщен сделал E:\MyDB\MyFile.accDB как простой file без каких-либо ограничений. Пробовал совершенно разные варианты команды "СтрокаПодключения" в различных исполнениях - ничего, всё в одном и том же: не открвает accDB никак. Пробовал установить с Microsoft'а "AccessDatabaseEngine" - не помогает. Самое интересное... При этом код
Большое спасибо за комментарии.
0
|
18.05.2015, 11:03 | |
Ответы с готовыми решениями:
15
Перестало работать охлаждение Перестало работать 5.1 по HDMI Вдруг Перестало Работать... Поддменю перестало работать |
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
|
18.05.2015, 16:35 | 2 |
Начнем с самого простого, функция обращения к файлу на сервере или на клиенте?
0
|
6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
|
|
18.05.2015, 17:05 [ТС] | 3 |
на клиентской машине
Но если на server запускаю 1С и эту процедуру - всё равно та же самая ошибка.
0
|
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
|
18.05.2015, 17:21 | 4 |
Что то странное, а там в пути случаем кириллица не могла затесаться, например "Е" ?
Повисших процессов от аксеса нет?
0
|
6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
|
|
18.05.2015, 17:36 [ТС] | 5 |
нет, конечно, всё в латинице. И процессов нет. Запускаю на любой машине, даже после перезагрузки, сразу такая ошибка.
0
|
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
|
18.05.2015, 17:42 | 6 |
Функция у тебя с директивой &Клиент?
Если нет то на сервере (где стоит сама база) у тебя E:\MyDB\MyFile.accDB точно есть?
0
|
6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
|
|
18.05.2015, 17:51 [ТС] | 7 |
Что значит "Функция у тебя с директивой &Клиент?" ?
E:\MyDB\MyFile.accDB точно есть - интересно ещё то, что если например укажу E:\MyDB\no_file.accDB, - а такого file У меня не существует, - то ошибка точно такая же. Однако если взять этот код и, чуть-чуть подделав для VBA, запустить как макрос, например в MSExcel, оно работает без проблем. Т.е. получается ADODB в 1С вообще не видит MS Access, но при этом не выдаёт ошибку на Новый ComObject
0
|
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
|
18.05.2015, 18:00 | 8 |
Ну признак места выполнения функции сервер/клиент.
Именно на сервере и на клиентских машинах, т.е. везде? Путь в кавычках передать пробовал?
0
|
6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
|
|
19.05.2015, 11:34 [ТС] | 9 |
Собственно никакой директивы &НаКлиенте / &НаСервере не стоит.
да, т.е. везде. Кавычки тоже не помогают.
0
|
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
||||||
19.05.2015, 11:40 | 10 | |||||
Странно это, а проверка на существование файла из 1с что говорит?
Кликните здесь для просмотра всего текста
0
|
6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
|
|
19.05.2015, 14:38 [ТС] | 11 |
Удивительная вещь
на C:\Windows\Regedit.exe говорит ВСЁ ОК на C:\Tmp\Database1.accDB говорит, что не найден (хотя оно там есть). А если скопировать Database1.accDB в C:\Windows, то всё равно не видит. Даже не видит такой file как c:\tmp\MyText.txt (который только что создал). А далее делаю следующий эксперимент: машина у меня Windows7, где пытаюсь запустить 1С с этою процедурою, а SQL / 1C сервис - всё на WindowsServer 2008, соответственно, другая машина. Если проверить на существование C:\Windows\ServerDatacenter.xml, который точно есть в WindowsServer2008, но не может быть в Windows7, то оказывается, что 1С на Win7 его видит и говорит всё ОК. Таким образом получается, что на клиентской машине я запускаю функцию, которая, оказывается, выполняется напрямую в/на WindowsServer2008. И значит надо проверять, почему сервис 1С не видит точно такой же каталог на WindowsServer2008 как E:\MyDB или C:\Tmp, куда я также выкладывал подобные file'ы для тестов.
0
|
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
||||||
19.05.2015, 14:53 | 12 | |||||
Функции у которых не проставлен признак выполнения в зависимости от типа клиента выполняются в разных местах.
Попробуй перед функцией поставь признак выполнения &НаСервере и убедись, что на сервере есть C:\Tmp\Database1.accDB Кликните здесь для просмотра всего текста
1
|
6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
|
|
19.05.2015, 16:43 [ТС] | 13 |
В общем получается, она видит всё, что лежит на диске С сервера, а всё остальное ей недоступно, потому в итоге, была первоначальная ошибка... Буду разбираться с правами и путями.
Спасибо большое!!
0
|
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
|
19.05.2015, 16:55 | 14 |
Пожалуйста.
Но дело не в правах и путях, дело в месте выполнения кода, почитайте про директивы &НаСервере &НаКлиенте и прочие, без их понимания на 8.3 путь закрыт.
0
|
209 / 183 / 31
Регистрация: 24.10.2011
Сообщений: 752
|
|
20.05.2015, 09:30 | 16 |
Ну вообще то у ТС ошибка как раз в общих модулях и я его направил по пути понимания причин возникновения подобных ошибок, думаю перейдя на 8.3 ему эти знания пригодятся.
0
|
20.05.2015, 09:30 | |
20.05.2015, 09:30 | |
Помогаю со студенческими работами здесь
16
Перестало работать восстановление системы USB гнездо перестало работать. Перестало работать то, что работало Простое выражение перестало работать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |