You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by Xiangdong Huang <sa...@gmail.com> on 2019/09/19 05:10:45 UTC
Re: [jira] [Created] (IOTDB-186) I encountered an exception when I
connect to IoTDB by iotdb jdbc driver
Hi,
When you saw this message, it means your server is v0.9.0-SNAPSHOT, while
the JDBC is v0.8.0. Upgrading the JDBC version will solve the problem.
Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University
黄向东
清华大学 软件学院
邢质坦 (Jira) <ji...@apache.org> 于2019年8月29日周四 下午3:39写道:
> 邢质坦 created IOTDB-186:
> -------------------------
>
> Summary: I encountered an exception when I connect to IoTDB
> by iotdb jdbc driver
> Key: IOTDB-186
> URL: https://issues.apache.org/jira/browse/IOTDB-186
> Project: Apache IoTDB
> Issue Type: Bug
> Reporter: 邢质坦
>
>
> Exception Messge:
> LF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
> [jar:file:/D:/Program%20Files/Apache/maven-repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in
> [jar:file:/D:/Program%20Files/Apache/maven-repository/org/slf4j/slf4j-log4j12/1.7.16/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> SLF4J: Actual binding is of type
> [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
> Exception in thread "main" java.sql.SQLException: Can not establish
> connection with jdbc:iotdb://10.12.20.122:6667/.
> at
> org.apache.iotdb.jdbc.IoTDBConnection.openSession(IoTDBConnection.java:444)
> at
> org.apache.iotdb.jdbc.IoTDBConnection.<init>(IoTDBConnection.java:93)
> at org.apache.iotdb.jdbc.IoTDBDriver.connect(IoTDBDriver.java:63)
> at java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:247)
> at cn.edu.thu.collect.IoTDBDirectly.connect(IoTDBDirectly.java:31)
> at cn.edu.thu.init.InitStorageGroup.main(InitStorageGroup.java:28)
> Caused by: org.apache.thrift.protocol.TProtocolException: Required field
> 'statusType' was not present! Struct: TS_Status(statusType:null)
> at
> org.apache.iotdb.service.rpc.thrift.TS_Status.validate(TS_Status.java:477)
> at
> org.apache.iotdb.service.rpc.thrift.TS_Status$TS_StatusStandardScheme.read(TS_Status.java:562)
> at
> org.apache.iotdb.service.rpc.thrift.TS_Status$TS_StatusStandardScheme.read(TS_Status.java:507)
> at
> org.apache.iotdb.service.rpc.thrift.TS_Status.read(TS_Status.java:431)
> at
> org.apache.iotdb.service.rpc.thrift.TSOpenSessionResp$TSOpenSessionRespStandardScheme.read(TSOpenSessionResp.java:626)
> at
> org.apache.iotdb.service.rpc.thrift.TSOpenSessionResp$TSOpenSessionRespStandardScheme.read(TSOpenSessionResp.java:611)
> at
> org.apache.iotdb.service.rpc.thrift.TSOpenSessionResp.read(TSOpenSessionResp.java:521)
> at
> org.apache.iotdb.service.rpc.thrift.TSIService$openSession_result$openSession_resultStandardScheme.read(TSIService.java:3151)
> at
> org.apache.iotdb.service.rpc.thrift.TSIService$openSession_result$openSession_resultStandardScheme.read(TSIService.java:3136)
> at
> org.apache.iotdb.service.rpc.thrift.TSIService$openSession_result.read(TSIService.java:3083)
> at
> org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86)
> at
> org.apache.iotdb.service.rpc.thrift.TSIService$Client.recv_openSession(TSIService.java:156)
> at
> org.apache.iotdb.service.rpc.thrift.TSIService$Client.openSession(TSIService.java:143)
> at
> org.apache.iotdb.jdbc.IoTDBConnection.openSession(IoTDBConnection.java:419)
> ... 6 more
>
> Process finished with exit code 1
>
>
>
> My Java Class:
>
> package com.json.to.insert.web.test.demo;
>
> import java.sql.*;
> import java.text.SimpleDateFormat;
>
> /**
> * @author xingzhitan
> * @date 2019/8/29 15:20
> */
> public class IoTDBHelloWorld {
>
> public static void main(String[] args) throws ClassNotFoundException,
> SQLException {
> Connection connection = null;
> Statement statement = null;
> try {
>
> // 1. load JDBC driver of IoTDB
> Class.forName("org.apache.iotdb.jdbc.IoTDBDriver");
> // 2. DriverManager connect to IoTDB
> connection = DriverManager.getConnection("jdbc:iotdb://
> 10.12.20.122:6667/", "root", "root");
> // 3. Create statement
> statement = connection.createStatement();
> // 4. Set storage group
> statement.execute("set storage group to root.vehicle.sensor");
> // 5. Create timeseries
> statement.execute("CREATE TIMESERIES
> root.vehicle.sensor.sensor0 WITH DATATYPE=DOUBLE, ENCODING=PLAIN");
> // 6. Insert data to IoTDB
> statement.execute("INSERT INTO root.vehicle.sensor(timestamp,
> sensor0) VALUES (2018/10/24 19:33:00, 142)");
> // 7. Query data
> String sql = "select * from root.vehicle.sensor";
> String path = "root.vehicle.sensor.sensor0";
> boolean hasResultSet = statement.execute(sql);
> SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd
> HH:mm:ss.SSS");
> if (hasResultSet) {
> ResultSet res = statement.getResultSet();
> System.out.println(" Time" + "|" +
> path);
> while (res.next()) {
> long time = Long.parseLong(res.getString("Time"));
> String dateTime = dateFormat.format(new Date(time));
> System.out.println(dateTime + " | " +
> res.getString(path));
> }
> res.close();
> }
> }
> finally {
> // 8. Close
> if (statement != null) statement.close();
> if (connection != null) connection.close();
> }
> }
>
>
> }
>
>
>
>
>
>
>
>
> --
> This message was sent by Atlassian Jira
> (v8.3.2#803003)
>