Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

17 Июнь 2019, 11:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Диалог аутентификации из макроса  (Прочитано 3165 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aspiring
Участник
**
Offline Offline

Сообщений: 17


« Стартовое сообщение: 2 Декабрь 2014, 06:22 »

Добрый день!
ос: windows 7
пакет: OpenOffice 4.1.1
java: 1.8

Введение:
Имеется два .odb документа. один содержит таблицы БД, другой лишь подключение к удаленному серверу БД.
И один .ods документ. макросы хранятся в этом же документе. Имеется приличная отдельная библиотека которая так или иначе использует эти оба источники данных в своих скриптах. а иногда оба одновременно(синхронизация данных в таблицах).

Побочный эффект:
В следствии выше описанного в ods документе при открытие появляется диалог "Требуется аутентификация"
в котором уже есть имя пользователя.

Вопрос:
Как можно заменить данный диалог своим? Может можно как то отключить запрос логина с паролем.

В скриптах везде перед обращением к любому источнику данных используется функция:

Код:
Function getConnection(contextName)
Dim Connection As Object
login = "user"
pass = "secret password"

DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName(contextName)

Connection = DataSource.GetConnection(login, pass)
getConnection = Connection
End Function

так что по сути мне не не нужно дефолтное подключение calc'a к base.

Благодарю всех откликнувшихся!

Записан
Aspiring
Участник
**
Offline Offline

Сообщений: 17


« Ответ #1: 3 Декабрь 2014, 05:18 »

Неужели никто не сталкивался? Или может вопрос достаточно глуп что никто даже не берется ответить?!
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #2: 3 Декабрь 2014, 12:05 »

Да нет, не глуп, нормальный вопрос...
Требовать ввод пароля - это одна птичка в свойствах базы данных. Ты, похоже, когда создавал соединение, просто её не сбросил (или установил).
Открой .odb, зайди в Правка-База данных-Свойства... и проверь состояние флажка "Необходимо ввести пароль" (для разных подключений он может находится в разных местах)


* Пароль на базу данных.png (10.49 Кб, 592x419 - просмотрено 34 раз.)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Aspiring
Участник
**
Offline Offline

Сообщений: 17


« Ответ #3: 4 Декабрь 2014, 05:39 »

Я думал что эта галочка сообщает о том, что помимо логина нужен еще и пароль.
Ну да чет не сообразил. попробую. Спасибо!
Записан
Aspiring
Участник
**
Offline Offline

Сообщений: 17


« Ответ #4: 4 Декабрь 2014, 13:28 »

JohnSUN, теперь когда я убрал галочку, при попытке открыть форму у меня вываливается ошибка
Невозможно установить соединение с источником данных "бла_бла"
Couldn't establish database connect to 'sdbc:postgresql:dbname=blablabla host=bla.bla.bla.bla port=5432' (fe_sendauth: no password supplied)

полагаю что мне необходимо перед попыткой подключения создать дефолтное подключение с программной задачей логина и пароля. но где и как это сделать?

Спасибо!
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #5: 8 Декабрь 2014, 11:40 »

Перечитал твоё первое сообщение... Много думал...   Да уж...

Давай ещё раз... Работаешь с двумя базами, к каждой из них цепляешься из макроса, одним и тем же кодом... Получаешь приглашение на ввод пароля.
Сколько раз? Оба-два, для каждой базы? Или только один раз - для той, которая "лишь подключение к удаленному серверу БД"? И как именно цепляешься к этой второй базе? Через ODBC, что ли? Что за сервер-то?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Aspiring
Участник
**
Offline Offline

Сообщений: 17


« Ответ #6: 11 Декабрь 2014, 06:27 »

один раз при входе. строка подключения такая - "sdbc:postgresql:dbname=blablabla host=bla.bla.bla.bla port=5432" сервер PostgreSQL вероятно подключение через sdbc.
нужно чтобы не спрашивал. я сам подключусь когда это будет мне необходимо, к этому моменту я буду знать необходимый логин и пароль для подключения. Ну или пусть это будет автоматический запрос пользователю, только либо его пароль, а не пароль админа и только тогда когда потребовалось подключение к БД. а не при открытии.
Я не умею объяснять что есть и что надо. Надеюсь понятно написал...)))
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #7: 11 Декабрь 2014, 19:24 »

я сам подключусь когда это будет мне необходимо, к этому моменту я буду знать необходимый логин и пароль для подключения
... и изменишь строку подключения, дописав после "...bla.bla.bla.bla port=5432" еще две пары <параметр>=<значение> - для user и для password?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!