所以我试图在Java 1.8中使用Mondrian 3.14,所以我做了类似这样的事情:
String catalogFilePath =“< path> /mdx_schema.xml”;String connectUrl =“Provider = mondrian;” + 的“JDBC = …
所以我实际上找到了答案 这里 :
import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import org.olap4j.CellSet; import org.olap4j.OlapConnection; import org.olap4j.OlapStatement; import org.olap4j.OlapWrapper; import org.olap4j.layout.RectangularCellSetFormatter; import java.sql.SQLException; public static void main(String[] args) throws SQLException, ClassNotFoundException { Class.forName("mondrian.olap4j.MondrianOlap4jDriver"); String catalogFilePath = "<path>/mdx_schema.xml"; String connectUrl = "jdbc:mondrian:" + "Jdbc=jdbc:postgresql://example.com:5432/database?user=user&password=pass;" + "JdbcDrivers=org.postgresql.Driver;" + "Catalog=file:" + catalogFilePath + ";"; Connection connection = DriverManager.getConnection(connectUrl); OlapWrapper wrapper = (OlapWrapper) connection; OlapConnection olapConnection = wrapper.unwrap(OlapConnection.class); OlapStatement statement = olapConnection.createStatement(); String qs = "<query>"; CellSet cellSet = statement.executeOlapQuery(qs); RectangularCellSetFormatter formatter = new RectangularCellSetFormatter(false); PrintWriter writer = new PrintWriter(System.out); formatter.format(cellSet, writer); writer.flush(); connection.close(); }