1
我一直在努力運行一個使用Hive ODBC的例子,但目前爲止還沒有成功。使用Hive ODBC的錯誤
我使用Hortonworks的Hive ODBC驅動程序從Win64運行我的java程序。我始終以下面的錯誤結束。
Exception in thread "main" java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid string or buffer length
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(JdbcOdbcConnection.java:1503)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:381)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at inverika.training.hive.HiveODBCClient.main(HiveODBCClient.java:30)
我從我的搜索收集是什麼,這是關係到微軟的ODBC驅動程序的問題,但沒有找到合適的解決方案。有沒有人對這個問題有所瞭解?欣賞是否有人能提供指針。
或者我想直接從我的Linux VM嘗試ODBC。爲此,我需要Linux Ubuntu的Hive ODBC。我不善於編譯和生成所需的庫。如果有人已經做到這一點,請分享。
感謝您的幫助。
感謝您的答覆。我正在使用由Hartonworks提供的用於Windows 64位的ODBC驅動程序,它是從您提到的相同鏈接下載的。我正在Linux VM上運行,直接使用Apache的hive分發(hive-0.9.0)。我正在使用上面的驅動程序從Windows執行Java程序並結束了這個問題。我從窗口使用了JDBC和Thrift,它們工作正常,沒有任何問題 – Rags
您是否實際上從Java程序調用了ODBC驅動程序? – overcoil
是的。我正在使用由HartonWorks提供的Win64 ODBC驅動程序。我也嘗試了MapR提供的那個。但有同樣的問題。 – Rags