LibreOffice BASIC: подключение к PostgreSQL

Я создал файл подключения PostgreSQL, используя LibreOffice Base (6.1), и я могу нормально выполнять там SQL-запросы, но мне было интересно, можно ли использовать это базовое соединение в функции LibreOffice BASIC.

Я знаю, что вы можете использовать соединения JDBC для MySQL.

mysql://hostname:port/database_name

Но я надеюсь, что есть способ использовать базовый файл, поскольку он работает так хорошо.

Я пытался найти документацию по этому вопросу в Интернете, но я изо всех сил пытаюсь найти что-нибудь, что устраняет разрыв между BASIC и Base.


person TheLovelySausage    schedule 27.02.2019    source источник


Ответы (1)


Я нашел ответ, решение состояло в том, чтобы использовать createUnoService, что позволяет вам указать имя odb, которое было настроено в Base.

oService = createUnoService("com.sun.star.sdb.DatabaseContext")
oBase = oService.getByName("basePostgreSQL")
oConn = oBase.getConnection("","")

oQuery = oConn.createStatement()
oSql = "select col from table"

oResult = oQuery.executeQuery(oSql)
while oResult.next()
    msgBox oResult.getString(1)
wend

oConn.close()
person TheLovelySausage    schedule 27.02.2019