邢质坦 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)

Reply via email to