After the Connection is opened, is there any way to determine what database is in use? And is there any way to switch to a different database?
The Teradata Database concept of a "database" corresponds to the JDBC API concept of a "schema". Ideally, the JDBC API would offer Connection methods getSchema and setSchema to do these operations in a standard way, but there are no such methods.
The Teradata Database's "help session" command returns the session's current database, so your own getSchema method can be implemented as follows.