无法连接到OBIEE 12中的HIVE数据库

时间:2017-02-10 16:43:45

标签: hive obiee

美好的一天,所有。

我目前面临着从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"}| 

有人能指出我可能的解决方案吗?

1 个答案:

答案 0 :(得分:1)

看起来在数据库连接中为hive服务器指定了错误的端口号。以下是来自同一连接器的类似错误,但标记为IBM:http://www-01.ibm.com/support/docview.wss?uid=swg21671761

here是连接选项说明和默认值供参考。