我一直在努力使用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)
我从搜索中收集到的是,这与microsoft ODBC驱动程序问题有关,但没有找到任何合适的解决方案。有没有人对这个问题有任何想法?感谢是否有人可以提供指示。
或者我想直接从我的Linux VM尝试ODBC。对于我来说,我需要Hive ODBC for Linux Ubuntu。我不擅长编译和生成所需的库。如果有人之前已经这样做,请分享。
感谢您的帮助。
答案 0 :(得分:0)
我不清楚你的问题。您包含的错误消息来自哪里?您使用的是JDBC驱动程序还是ODBC驱动程序?
假设您正在使用HDP,可以在此处获得Linux ODBC驱动程序: