Ado error ошибка открытия соединения 1с рарус

Ado error ошибка открытия соединения 1с рарус Shift1834 Дата 10.11.2011, 10:39 (ссылка) | (нет голосов) Загрузка . Профиль Группа: Участник Сообщений: 5 Регистрация: 2.11.2011 Репутация: нет Всего: нет Код ADOConnection1->ConnectionString=»Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+BasePath+»;Persist Security Info=False»; ADOConnection1->Open(); ADOTable1->TableName=»MyTName»; ADOTable1->Active=true; Данкинг Дата 10.11.2011, 10:50 (ссылка) | (нет голосов) Загрузка . Yersinia pestis Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: […]

Ado error ошибка открытия соединения 1с рарус

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011

Репутация: нет
Всего: нет

Shift1834
Дата 10.11.2011, 10:39 (ссылка) | (нет голосов) Загрузка .
Код
ADOConnection1->ConnectionString=»Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+BasePath+»;Persist Security Info=False»;
ADOConnection1->Open();
ADOTable1->TableName=»MyTName»;
ADOTable1->Active=true;
Данкинг
Дата 10.11.2011, 10:50 (ссылка) | (нет голосов) Загрузка .

Yersinia pestis

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011

Репутация: нет
Всего: нет

Shift1834
Дата 10.11.2011, 11:08 (ссылка) | (нет голосов) Загрузка .
Код
UnicodeString ExePath=ExtractFilePath(Application->ExeName);
ADOConnection1->ConnectionString=»Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+ExePath+»Моя база.mdb;User/>

не помогает!
Пробовал в корень диска D положить и назвать базу без русских букв — естественно тоже не помогло

Данкинг
Дата 10.11.2011, 11:44 (ссылка) | (нет голосов) Загрузка .

Yersinia pestis

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011

Репутация: нет
Всего: нет

Shift1834
Дата 10.11.2011, 12:06 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011

Репутация: нет
Всего: нет

Shift1834
Дата 10.11.2011, 13:41 (ссылка) | (нет голосов) Загрузка .
Код
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccess2007file.accdb;Persist Security Info=False;

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.11.2011

Репутация: нет
Всего: нет

Shift1834
Дата 10.11.2011, 15:23 (ссылка) | (нет голосов) Загрузка .

Бывалый

Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005

Репутация: нет
Всего: 2

Mach3
Дата 15.11.2011, 04:38 (ссылка) | (нет голосов) Загрузка .
Цитата(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
1
2
3
4
5
6
7
8
9
10
    СтрокаПодключения="Provider=Microsoft.Ace.OLEDB.12.0;Data Source=E:MyDBMyFile.accDB;Persist Security Info=False;";
    Connection=Новый ComObject("ADODB.Connection");
    // Подключение
    Попытка
        Connection.Open(СтрокаПодключения);
    Исключение
        Сообщить("Ошибка подключения к Access: " + ОписаниеОшибки());
        Вовзрат;
    КонецПопытки;
    // работаем с accDB

И всё работало на ура без всяких проблем.
После перехода на 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
2
3
4
5
6
7
8
9
10
11
12
    СтрокаПодключения="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=e:MyDBbook1.xlsx;Extended Properties=Excel 12.0;";
    // создание соединения
        Connection=Новый ComObject("ADODB.Connection");
    // Подключение
    Попытка
        Connection.Open(СтрокаПодключения);
    Исключение
        Возврат
        Сообщить("Ошибка подключения к EXCEL: " + ОписаниеОшибки());
        Возврат
    КонецПопытки;
    сообщить("УСПЕШНО EXCEL");

работает успешно.

Большое спасибо за комментарии.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Содержание:

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

Формирование объекта ADOdb.Connection

Реализовали мы данное действие в глобальном модуле, то есть существует объект до тех пор, пока сеанс в 1С открыт – по окончанию работы удалять не нужно. 

2.     Отправка команды серверу

Для того чтобы сформировать команду, необходимо создать объект ADOdb.Command, после чего привязываем его к нынешнему соединению:

Привязка объекта ADOdb.Connection к соединению

Привязка объекта ADOdb.Connection к соединению

Далее задаётся непосредственно команда:

 ADOdb.Connection тип команды

Команда для объекта ADOdb.Connection

Текст в команде – это некий оператор из T-SQL или имя процедуры из нашей базы данных.

Чтобы работа программы стала быстрее? можно отметить для объекта ADOdb тип команды (функция «ТипКомандыАдо()»).

Как отметить для объекта ADOdb.Connection тип команды

Как отметить для объекта 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

Создание параметров в объекте ADOdb.Command

Функция CreateParameter в объекте ADOdb.Command

Функция CreateParameter в объекте ADOdb.Command

работа в ADOdb.Command

Пример создания параметров в объекте ADOdb.Command

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

Примечание: параметры с типом Numeric нужно будет конвертировать в строки, а только потом передавать.  

3.     Получение и обработка результата работы команды

Можно вывести результаты двумя способами:

·        как набор с данными, который возвращаем функцией «Execute» из объекта ADOdb.Command;

·        как обособленные значения, которые можно передать из той процедуры, где они хранятся, по параметрам с типом OUTPUT.

Выведение результатов работы ADOdb.Command

Выведение результатов работы ADOdb.Command

Стоит обратить внимание, что параметры нумеруются начиная со значения «0». Параметры можно использовать ещё раз, если присвоить им значения через опцию Value.

Конечный набор с записями сможет проходить обработку с начала и до конца цикла и будет обращаться к полям по их названиям. Например:

Обработка набора с начала и до конца года

Обработка набора с начала и до конца года

Когда записи стали не нужными, закрываем их с помощью Rs.Close.

Таким образом, соединив 1С и методы ADOdb, мы получили набор записей при работе с базой данных SQL.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Adjusttokenprivileges error 0x00000006
  • Adjustment program for epson communication error
  • Adjustment program error code 21000069
  • Adjustment program error code 20000101
  • Adjustment program error code 200000101

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии