As bug 85146 indicates, it seems functionality for connecting to a Firebird server via TCP/IP rather than embedded in .odb or a separate Firebird .fdb file is already present.
It would be nice to be able to expose this in the GUI so one can connect to a Firebird server out of the box without needing to install other drivers, mess with ODBC etc.
Adding self to CC if not already on
I don't think our HSQLDB code has any similar feature, so this can't be a blocker for bug #51780.
Basically we just need to ask for user and password in the UI.
In connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu in the
<node oor:name="sdbc:firebird:*" oor:op="replace">
add a child like that:
<node oor:name="Authentication" oor:op="replace">
<prop oor:name="Value" oor:type="xs:string">
While you are at it, change the "DriverTypeDisplayName" from "Firebird file" to "Firebird external".
Then in connectivity/source/drivers/firebird/Connection.cxx in method Connection::construct, in
if (url == "sdbc:embedded:firebird")
// External file AND/OR remote connection
else if (url.startsWith("sdbc:firebird:"))
Get the username and password from the "info" parameter. See e.g. connectivity/source/drivers/odbc/OConnection.cxx method OConnection::Construct for an example how to do that.
Then pass the username and password to the firebird API. A bit lower you have:
if (m_bIsEmbedded || m_bIsFile)
// TODO: parse password from connection string as needed?
At the place of this TODO, strncpy the username and password you have extracted from info into the userName and userPassword buffers.
For bonus points, you can implement a specific UI page just for Firebird in the wizard, like we have for MySQL. bug 43369 contains instructions on how to do that (for PostgreSQL, but can be adapted for Firebird).