美好的一天,所有。
我目前面临着从Oracle商务智能创建与HIVE数据源的连接的问题。 当我输入我的数据库凭据时,我收到此错误:
无法保存连接。由于发生了一些错误,因此无法创建连接。修复它们并重试。
仅此而已。 同时在Weblogic Console日志中:
|Unsupported property passed in properties: fixedString=true|
|Unsupported property passed in properties: oracle.jdbc.J2EE13Compliant=true|
|BEA-000000| |java.sql.SQLException java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
oracle.bi.jdbc.AnaJdbcStatementImpl.executeQuery(AnaJdbcStatementImpl.java:387)
oracle.bi.jdbc.AnaJdbcStatementImpl.execute(AnaJdbcStatementImpl.java:268)
oracle.bi.jdbc.AnaJdbcPreparedStatementImpl.execute(AnaJdbcPreparedStatementImpl.java:507)
oracle.bi.jdbc.AnaJdbcPreparedStatementImpl.executeQuery(AnaJdbcPreparedStatementImpl.java:204)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:173)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:93)
oracle.bi.datasource.jdbc.connector.BIJDBCProvider.getObjectList(BIJDBCProvider.java:217)
oracle.bi.datasource.service.DatasourceServiceProcessor.getObjectsList(DatasourceServiceProcessor.java:1057)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|Error| |oracle.bi.datasource.trace| |BEA-000000| |SQL_EXCEPTION 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
Cause - SQLException is thrown from the datasource
Action - Check the log
oracle.bi.datasource.jdbc.connector.SQLExceptionMapper.convert(SQLExceptionMapper.java:40)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:215)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:93)
oracle.bi.datasource.jdbc.connector.BIJDBCProvider.getObjectList(BIJDBCProvider.java:217)
oracle.bi.datasource.service.DatasourceServiceProcessor.getObjectsList(DatasourceServiceProcessor.java:1057)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
|Error| |oracle.bi.datasource.trace| |BEA-000000| |java.util.concurrent.ExecutionException oracle.bi.datasource.exceptions.DatasourceException: 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
Cause - 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
java.util.concurrent.FutureTask.report(FutureTask.java:122)
java.util.concurrent.FutureTask.get(FutureTask.java:206)
oracle.bi.datasource.service.adf.server.DatasourceServlet.doGet(DatasourceServlet.java:442)
javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
|
|Error| |oracle.bi.web.datasetsvc| |BEA-000000| |getObjectList failed for 'weblogic'.'HiveDS'|
|Error| |oracle.bi.tech.services.dataset| |BEA-000000| |Failed to create connection. : Bad Request - {"code":400101,"message":"JDS - Invalid syntax","subMessage":"oracle.bi.datasource.exceptions.DatasourceException: 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.\n[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..\n[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.\nCause: SQLException is thrown from the datasource\nAction: Check the log"}|
有人能指出我可能的解决方案吗?
答案 0 :(得分:1)
看起来在数据库连接中为hive服务器指定了错误的端口号。以下是来自同一连接器的类似错误,但标记为IBM:http://www-01.ibm.com/support/docview.wss?uid=swg21671761
here是连接选项说明和默认值供参考。