Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取java.sql.SQLException中的时间戳结果:一般错误_Java_Oracle_Jdbc_Oracle10g - Fatal编程技术网

获取java.sql.SQLException中的时间戳结果:一般错误

获取java.sql.SQLException中的时间戳结果:一般错误,java,oracle,jdbc,oracle10g,Java,Oracle,Jdbc,Oracle10g,我在从Oracle数据库获取时间戳时遇到问题 该表的创建如下所示: create table csi(start_time timestamp); import java.sql.*; public class hel { public static void main(String args[]) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

我在从Oracle数据库获取时间戳时遇到问题

该表的创建如下所示:

create table csi(start_time timestamp);
import java.sql.*;

public class hel
{
    public static void main(String args[])
    {
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection("jdbc:odbc:mohit","system","rock");
            PreparedStatement ps=con.prepareStatement("select * from csi");
            ResultSet rs=ps.executeQuery();
            while(rs.next())
            {
                //System.out.println(rs.getString(4));
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }

    }
}
然后,我选择了如下值:

create table csi(start_time timestamp);
import java.sql.*;

public class hel
{
    public static void main(String args[])
    {
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection("jdbc:odbc:mohit","system","rock");
            PreparedStatement ps=con.prepareStatement("select * from csi");
            ResultSet rs=ps.executeQuery();
            while(rs.next())
            {
                //System.out.println(rs.getString(4));
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }

    }
}
但它抛出以下异常:

java.sql.SQLException: General error
     at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbc.SQLPrepare(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement(Unknown Source)
     at hel.main(hel.java:10)

这是如何造成的,我如何解决它?

请公布确切的错误。另外,为什么要尝试从包含时间戳的内容中检索字符串?根据您的需要查看
ResultSet
对象的
getTimestamp
方法。

这里是跟踪的前几行的简单翻译(从下到上阅读注释):

JDBC ODBC桥驱动程序似乎不了解如何为Oracle 10g数据库创建准备好的语句


别用那个讨厌的司机。您不是第一个遇到DB特定问题的人。改用实数

它将在执行PreparedStatement时抛出错误。getTimeStamp()是PreparedStatement之后执行的下一个操作。需要更多信息;这是什么样的数据库?此外,您创建的表称为“store”,而在查询中使用“csi”。您确定表“csi”存在并且考虑中的查询在从SQL编辑器触发时返回结果吗?哦,很抱歉,这是一个错误,我创建了名为csi的表,但它不是存储。正如我前面所说,我正在使用oracle(10g exp)。
SQLException
支持链接。您是否可以专门捕获
SQLException
并调用其
nextException()
方法来查看其中是否存在任何其他异常。或者更好的是,使用迭代器打印出所有链接异常。阅读:。同样如前所述,使用oracle提供的真实驱动程序,而不是历史上的JDBC-ODBC桥。