public void initializeDatabase(String serverURLString) throws QueryDatabaseException {
		if (isSameDatabase(serverURLString)) {
			if (database.getStatus() == Status.Ready) {
				return; // Trying to connect with server which is still ready
			}
		}

		if (database != null) {
			database.close(); // Shutdown old connection (or erroneous connection)
			database = null;
		}

		try {
			database = createDatabase(serverURLString);
		}
		catch (MalformedURLException e) {
			throw new QueryDatabaseException("Bad database URL: " + e.getMessage());
		}
		boolean success = database.initialize();
		if (!success) {
			String errorMsg = "";
			if (database.getLastError() != null) {
				errorMsg = database.getLastError().message;
			}

			throw new QueryDatabaseException(errorMsg);
		}
	}
Returns a string explaining the database compatibility between this client and the server.

@return a string explaining the compatibility, or null if it could not be determined
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/facade/SimilarFunctionQueryService.java