获取java.sql.SQLException中的时间戳结果:一般错误
我在从Oracle数据库获取时间戳时遇到问题 该表的创建如下所示:获取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");
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桥。