[英]Getting Timestamp results in java.sql.SQLException: General error
從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();
}
}
}
但它拋出以下異常:
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)
這是怎么造成的,我該如何解決?
這是跟蹤的前幾行的簡單翻譯(從下到上閱讀注釋):
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException // I have to create and throw the SQL exception!
at sun.jdbc.odbc.JdbcOdbc.standardError // Uuuh, something failed?
at sun.jdbc.odbc.JdbcOdbc.SQLPrepare // Let's start preparing it.
at sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement // Ah, a prepared statement is been requested.
看起來JDBC ODBC橋驅動程序不了解如何為Oracle 10g數據庫創建預准備語句。
只是不要使用那個糟糕的司機。 你不是第一個遇到DB特定問題的人。 請改用真正的 Oracle JDBC驅動程序 。
請發布確切的錯誤。 另外,為什么要嘗試從包含時間戳的內容中檢索字符串? 查看ResultSet
對象的getTimestamp
方法以滿足您的需求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.