+-
LibreOffice BASIC:连接到PostgreSQL

我使用LibreOffice Base(6.1)创建了一个PostgreSQL连接文件,我可以在那里运行SQL查询,但我想知道是否可以在LibreOffice BASIC函数中使用此Base连接。

我知道你可以使用MySQL的JDBC连接

mysql://hostname:port/database_name

但我希望有一种方法可以使用基本文件,因为它工作得很好

我一直试图在网上找到这方面的文档,但我正在努力找到弥合BASIC和Base之间差距的任何东西。

1
投票

我找到了答案,解决方案是使用createUnoService,并允许您指定在Base中设置的odb的名称。

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()