API Вертикали в PHP5

Автор Бондар, 25.01.07, 15:21:55

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Бондар

Добрый день.
Помогите, пожалуйста, разобраться с API Вертикаль-Справочники.
С помощью PHP5 я создаю COM-объект справочника (uniReference) следующим образом:

      $uniReference = new COM("{2E2AF920-73CD-4797-8EBD-7F501CB3581D}");

Загружаю ini-файл из текущего каталога

      $globalVars = $uniReference -> GlobalVars;
      $globalVars-> ReFileIni('');

Ini-файл загружается нормально. Для проверки делаю

      echo $globalVars->AliasServer();

и получаю результат "VrtServer".
Т.е. COM-объект создается, его методы выполняются нормально.
А вот далее начинаются непонятности. Если я пытаюсь открыть соединение с БД так, как это указано в документации, т.е.

      $globalVars-> OpenDataBase('','');

то получаю ошибку PHP "Недопустимое число параметров.". Если же я добавляю в метод OpenDataBase еще один параметр (строковый, какой же ее?), и пробую сделать так:

      $globalVars-> OpenDataBase('','','');

то получаю из $uniReference-> GetLastErrorMessage() следующее сообщение : "Не определены параметры соедиения с SQL-сервером". Я в тупике, т.к. не могу предположить, какие нужны параметры соединения, где и в каком виде их нужно указать.

Примечание: Вертикаль - Справочники V1 работает.
Примечание2: В методе OpenDataBase пробовал указывать различные логины и пароли, в т.ч. и SYSDBA.

Итак, как же мне правильно открыть соединение с базой данных? (именно из PHP, примеры для Delphi я смотрел, но они не помогают).

Приложение.
Первый вариант кода:
<?php
   $uniReference = new COM("{2E2AF920-73CD-4797-8EBD-7F501CB3581D}");
   $globalVars = $uniReference -> GlobalVars;
   $globalVars-> ReFileIni('');
   echo $globalVars->AliasServer();
   $globalVars-> OpenDataBase('','');
?>
Полный текст ошибки:
[25-Jan-2007 14:49:07] PHP Fatal error:  Uncaught exception 'com_exception' with message 'Error [0x8002000e] Недопустимое число параметров.
' in D:\work\Оснастка\toolsRef\index.php:7
Stack trace:
#0 D:\work\Оснастка\toolsRef\index.php(7): variant->OpenDataBase('', '')
#1 {main}
  thrown in D:\work\Оснастка\toolsRef\index.php on line 7

Второй вариант кода:
<?php
   $uniReference = new COM("{2E2AF920-73CD-4797-8EBD-7F501CB3581D}");
   $globalVars = $uniReference -> GlobalVars;
   $globalVars-> ReFileIni('');
   echo $globalVars->AliasServer();
   $globalVars-> OpenDataBase('','','');
   echo $uniReference-> GetLastErrorMessage();
?>
Полный текст ошибки:
Не определены параметры соедиения с SQL-сервером
                                            ^^^^

Бондар

Проблема решилась благодаря службе техподдержки(в лице Сергея Белоусова).

БС> При вызове OpenDataBase('','','') необходимо указать все три параметра.
БС> Первый параметр - Login
БС> Второй параметр - Password
БС> Третий паратетр - LangDriver