螺纹“主”螺纹中的异常java.lang.Error:未解决的编译问题: [英] Exception in thread "main" java.lang.Error: Unresolved compilation problems:

查看:130
本文介绍了螺纹“主”螺纹中的异常java.lang.Error:未解决的编译问题:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好每一个我有一些问题在我的jdbc代码,我试图通过mysql连接,但它会给error.my错误日志如果你有一些时间请帮助我。



线程main中的异常java.lang.Error:未解决的编译问题:
BLOB无法解析为类型
BLOB不能解析为类型

at serialize.SerializeDeserialze.main(SerializeDeserialze.java:73)

我的代码在下面给出....我使用mysql-connector-java-5.1.20.jar驱动程序

  package serialize; 
/ *
由vivek

* /


import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import oracle.sql.BLOB;

/ ****
CREATE TABLE java_objects(object_id NUMBER,object_name varchar(128),object_value BLOB DEFAULT empty_blob(),primary key(object_id)
SQL> desc java_objects;
名称Null?输入
----------------------------------------- ---- ---- ----------------------------
OBJECT_ID NOT NULL NUMBER
OBJECT_NAME VARCHAR2(128)
OBJECT_VALUE BLOB

SQL>从user_sequences中选择SEQUENCE_NAME,MIN_VALUE,MAX_VALUE,INCREMENT_BY,LAST_NUMBER;

SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY LAST_NUMBER
------------------------------ --- ------- ---------- ------------ -----------
ID_SEQ 1 1.0000E + 27 1 21
JAVA_OBJECT_SEQUENCE 1 1.0000E + 27 1 1

* /
public class SerializeDeserialze {
public static void main(String [] args)throws Exception {
String WRITE_OBJECT_SQL =BEGIN
+INSERT INTO java_objects(object_id,object_name,object_value)
+VALUES(?,?,empty_blob())+RETURN object_value INTO? +END;;
String READ_OBJECT_SQL =SELECT object_value FROM java_objects WHERE object_id =?;

连接conn = getOracleConnection();
conn.setAutoCommit(false);
List< Object> list = new ArrayList< Object>();
list.add(这是一个短字符串。
list.add(new Integer(1234));
list.add(new java.util.Date());

//将对象写入Oracle
long id = 0001;
String className = list.getClass()。getName();
CallableStatement cstmt = conn.prepareCall(WRITE_OBJECT_SQL);

cstmt.setLong(1,id);
cstmt.setString(2,className);

cstmt.registerOutParameter(3,java.sql.Types.BLOB);

cstmt.executeUpdate();
BLOB blob =(BLOB)cstmt.getBlob(3);
OutputStream os = blob.getBinaryOutputStream();
ObjectOutputStream oop = new ObjectOutputStream(os);
oop.writeObject(list);
oop.flush();
oop.close();
os.close();

//从对象读取对象
PreparedStatement pstmt = conn.prepareStatement(READ_OBJECT_SQL);
pstmt.setLong(1,id);
ResultSet rs = pstmt.executeQuery();
rs.next();
InputStream is = rs.getBlob(1).getBinaryStream();
ObjectInputStream oip = new ObjectInputStream(is);
Object object = oip.readObject();
className = object.getClass()。getName();
oip.close();
is.close();
rs.close();
pstmt.close();
conn.commit();

// de-serialize从给定的objectID列表一个java对象
list listFromDatabase =(List)object;
System.out.println([解序列化后] list =+ listFromDatabase);
conn.close();
}

私人静态连接getHSQLConnection()throws异常{
Class.forName(org.hsqldb.jdbcDriver);
System.out.println(Driver Loaded。);
String url =jdbc:hsqldb:data / tutorial;
return DriverManager.getConnection(url,sa,);
}

public static Connection getMySqlConnection()throws Exception {
String driver =org.gjt.mm.mysql.Driver;
String url =jdbc:mysql:// localhost / demo2s;
String username =oost;
String password =oost;

Class.forName(driver);
Connection conn = DriverManager.getConnection(url,username,password);
return conn;
}

public static Connection getOracleConnection()throws Exception {
String driver =oracle.jdbc.driver.OracleDriver;
String url =jdbc:oracle:thin:@localhost:1521:databaseName;
String username =userName;
String password =password;

Class.forName(driver); //加载Oracle驱动程序
Connection conn = DriverManager.getConnection(url,username,password);
return conn;
}


解决方案

Eclipse作为IDE,并尝试运行甚至不编译的代码。检查您在Eclipse中的问题视图,并在执行应用程序之前修复编译错误。


Hi every one i have some problem in my jdbc code i am trying to connect through mysql but it will give error.my error log is given below if you have some time please help me.

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    BLOB cannot be resolved to a type
    BLOB cannot be resolved to a type

    at serialize.SerializeDeserialze.main(SerializeDeserialze.java:73)

my code is given below.... i am using mysql-connector-java-5.1.20.jar driver

package serialize;
/*
 By vivek

*/


import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import oracle.sql.BLOB;

/****
CREATE TABLE java_objects (object_id NUMBER, object_name varchar(128), object_value BLOB DEFAULT empty_blob(), primary key (object_id));
SQL> desc java_objects;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OBJECT_ID                                 NOT NULL NUMBER
 OBJECT_NAME                                        VARCHAR2(128)
 OBJECT_VALUE                                       BLOB

SQL> select SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY, LAST_NUMBER from  user_sequences;

SEQUENCE_NAME                   MIN_VALUE  MAX_VALUE INCREMENT_BY LAST_NUMBER
------------------------------ ---------- ---------- ------------ -----------
ID_SEQ                                  1 1.0000E+27            1          21
JAVA_OBJECT_SEQUENCE                    1 1.0000E+27            1           1

*/
public class SerializeDeserialze {
  public static void main(String[] args) throws Exception {
    String WRITE_OBJECT_SQL = "BEGIN "
        + "  INSERT INTO java_objects(object_id, object_name, object_value) "
        + "  VALUES (?, ?, empty_blob()) " + "  RETURN object_value INTO ?; " + "END;";
    String READ_OBJECT_SQL = "SELECT object_value FROM java_objects WHERE object_id = ?";

    Connection conn = getOracleConnection();
    conn.setAutoCommit(false);
    List<Object> list = new ArrayList<Object>();
    list.add("This is a short string.");
    list.add(new Integer(1234));
    list.add(new java.util.Date());

    // write object to Oracle
    long id = 0001;
    String className = list.getClass().getName();
    CallableStatement cstmt = conn.prepareCall(WRITE_OBJECT_SQL);

    cstmt.setLong(1, id);
    cstmt.setString(2, className);

    cstmt.registerOutParameter(3, java.sql.Types.BLOB);

    cstmt.executeUpdate();
    BLOB blob = (BLOB) cstmt.getBlob(3);
    OutputStream os = blob.getBinaryOutputStream();
    ObjectOutputStream oop = new ObjectOutputStream(os);
    oop.writeObject(list);
    oop.flush();
    oop.close();
    os.close();

    // Read object from oracle
    PreparedStatement pstmt = conn.prepareStatement(READ_OBJECT_SQL);
    pstmt.setLong(1, id);
    ResultSet rs = pstmt.executeQuery();
    rs.next();
    InputStream is = rs.getBlob(1).getBinaryStream();
    ObjectInputStream oip = new ObjectInputStream(is);
    Object object = oip.readObject();
    className = object.getClass().getName();
    oip.close();
    is.close();
    rs.close();
    pstmt.close();
    conn.commit();

    // de-serialize list a java object from a given objectID
    List listFromDatabase = (List) object;
    System.out.println("[After De-Serialization] list=" + listFromDatabase);
    conn.close();
  }

  private static Connection getHSQLConnection() throws Exception {
    Class.forName("org.hsqldb.jdbcDriver");
    System.out.println("Driver Loaded.");
    String url = "jdbc:hsqldb:data/tutorial";
    return DriverManager.getConnection(url, "sa", "");
  }

  public static Connection getMySqlConnection() throws Exception {
    String driver = "org.gjt.mm.mysql.Driver";
    String url = "jdbc:mysql://localhost/demo2s";
    String username = "oost";
    String password = "oost";

    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }

  public static Connection getOracleConnection() throws Exception {
    String driver = "oracle.jdbc.driver.OracleDriver";
    String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
    String username = "userName";
    String password = "password";

    Class.forName(driver); // load Oracle driver
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }

解决方案

This error happens when you use Eclipse as IDE and try to run code that doesn't even compile. Check your Problems view in Eclipse, and fix the compilation errors before executing the application.

这篇关于螺纹“主”螺纹中的异常java.lang.Error:未解决的编译问题:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆