Ado error ошибка открытия соединения 1с рарус
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011
Репутация: нет
Всего: нет
Shift1834 |
|
||
Код |
ADOConnection1->ConnectionString=»Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+BasePath+»;Persist Security Info=False»; ADOConnection1->Open(); ADOTable1->TableName=»MyTName»; ADOTable1->Active=true; |
Данкинг |
|
||
Yersinia pestis Профиль Репутация: нет |
|||
|
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011
Репутация: нет
Всего: нет
Shift1834 |
|
||
Код |
UnicodeString ExePath=ExtractFilePath(Application->ExeName); ADOConnection1->ConnectionString=»Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+ExePath+»Моя база.mdb;User/> |
не помогает!
Пробовал в корень диска D положить и назвать базу без русских букв — естественно тоже не помогло
Данкинг |
|
||
Yersinia pestis Профиль Репутация: нет |
|||
|
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011
Репутация: нет
Всего: нет
Shift1834 |
|
||
|
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011
Репутация: нет
Всего: нет
Shift1834 |
|
||
Код |
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccess2007file.accdb;Persist Security Info=False; |
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011
Репутация: нет
Всего: нет
Shift1834 |
|
||
|
Бывалый
Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005
Репутация: нет
Всего: 2
Mach3 |
|
||
Цитата(Shift1834 @ 10.11.2011, 12:06 |
Запустите пожалуйста этот файлик (621 КВ) у кого Win 7 или Vista. |
Запустил на обоих ноутах, XP32, Win7 64..
и там и там все норм
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.
Благодарим за понимание.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | C/C++: Базы данных | Следующая тема » |
[ Время генерации скрипта: 0.1217 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Источник
Читайте также: 40 b5511u mad4g прошивка
Adblock
detector
Добрый день, всем.
Буду признателен за советы, мысли, как решить неожиданно возникшую проблему с 1С 8.3. Имеем 1С 8.3.5.15.17, через MSSQL2008, MSOffice 2007. Всё лицензионное.
Недавно перешли с 8.2 на 8.3 . До переход использовалась специальная процедура: записать в file MSAccess2007 некоторую информацию, выглядело это так:
1C | ||
|
И всё работало на ура без всяких проблем.
После перехода на 8.3 столкнулся с проблемою, что Open не даёт соединения — просто упорно выдаёт ошибку.
Ошибка подключения к Access: {ОбщийМодуль.АС_ОСЧ.Модуль(212)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Access Database Engine): ‘E:MyDBMyFile.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:MyDBMyFile.accDB», то всё открывается, всё видно. Для тестов вообщен сделал E:MyDBMyFile.accDB как простой file без каких-либо ограничений.
Пробовал совершенно разные варианты команды «СтрокаПодключения» в различных исполнениях — ничего, всё в одном и том же: не открвает accDB никак.
Пробовал установить с Microsoft’а «AccessDatabaseEngine» — не помогает.
Самое интересное… При этом код
1C | ||
|
работает успешно.
Большое спасибо за комментарии.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Содержание:
1. Формирование объекта ADOdb.Connection
2. Отправка команды серверу
3. Получение и обработка результата работы команды
В данной статье будет рассмотрено взаимодействие 1С и ADOdb. Но вначале вкратце опишем, что из себя представляет ADOdb. Итак, ADOdb – это библиотека-функция для программного обеспечения, которая создает прикладной интерфейс для способа доступа к базам данных таких языков, как Python и PHP. Данная библиотека даёт разработчику инструменты, которые позволяют делать приложения не программируя каждый возможный тип источника данных. Также используя ADOdb, программист 1С получает возможность перемены в СУБД (Система управления базами данных), не внося исправлений в главную часть кода.
ADOdb может применяться совместно с системами 1С, например, для получения доступа к таблицам в базе данных 1С при помощи методов ADO. Методы ADO и SQL-DMO разрешают исполнять командование доступом и модификацию данных при помощи функций T-SQL (расширение SQL). В обоих случаях порядок действий будет одинаковым. Рассмотрим же его подробнее!
1. Формирование объекта ADOdb.Connection
Формирование объекта ADOdb.Connection
Реализовали мы данное действие в глобальном модуле, то есть существует объект до тех пор, пока сеанс в 1С открыт – по окончанию работы удалять не нужно.
2. Отправка команды серверу
Для того чтобы сформировать команду, необходимо создать объект ADOdb.Command, после чего привязываем его к нынешнему соединению:
Привязка объекта ADOdb.Connection к соединению
Далее задаётся непосредственно команда:
Команда для объекта ADOdb.Connection
Текст в команде – это некий оператор из T-SQL или имя процедуры из нашей базы данных.
Чтобы работа программы стала быстрее? можно отметить для объекта ADOdb тип команды (функция «ТипКомандыАдо()»).
Как отметить для объекта ADOdb.Connection тип команды
Примечание: по внутренним настройкам при создании объекта ADOdb.Command стоит тип adCmdUnknow.
Тип команды по умолчанию для объекта ADOdb.Connection
В случае, когда используем процедуру с параметрами, которую храним – нужно внести их в собрание «Parameters» в объекте ADOdb.Command. Создание параметров происходит через функцию CreateParameter в объекте ADOdb.Command:
«CreateParamerer (Name, Value Type, Param type, Param Value)», где:
· Name – название параметра (точно так же, как указано в процедуре, в которой он хранится);
· Value Type – значение параметра по типу, определяем при помощи КонстантаАДО();
· Param Type – тип в параметре («Output» или «Input»), определяем при помощи функции ТипПарамедраАДО();
· Param Value – само значение.
Создание параметров в объекте ADOdb.Command
Функция CreateParameter в объекте ADOdb.Command
Пример создания параметров в объекте ADOdb.Command
Для того чтобы передать параметры в процедуру для хранения, нужно сделать описание каждого параметра в том же порядке, как они записаны в процедуре, где хранятся.
Примечание: параметры с типом Numeric нужно будет конвертировать в строки, а только потом передавать.
3. Получение и обработка результата работы команды
Можно вывести результаты двумя способами:
· как набор с данными, который возвращаем функцией «Execute» из объекта ADOdb.Command;
· как обособленные значения, которые можно передать из той процедуры, где они хранятся, по параметрам с типом OUTPUT.
Выведение результатов работы ADOdb.Command
Стоит обратить внимание, что параметры нумеруются начиная со значения «0». Параметры можно использовать ещё раз, если присвоить им значения через опцию Value.
Конечный набор с записями сможет проходить обработку с начала и до конца цикла и будет обращаться к полям по их названиям. Например:
Обработка набора с начала и до конца года
Когда записи стали не нужными, закрываем их с помощью Rs.Close.
Таким образом, соединив 1С и методы ADOdb, мы получили набор записей при работе с базой данных SQL.
Специалист компании «Кодерлайн»
Айдар Фархутдинов