package DisplayAuthors;
import java.sql.*;
public class DisplayAuthors
{
private static final String DATABASE_URL="jdbc:oracle:thin:@localhost:1521:orcl"; //here is 5 rows
public static void main(String[] args) {
Connection connection=null;
Statement statement=null;
ResultSet resultset=null;
try
{
connection=DriverManager.getConnection(DATABASE_URL,"scott","123456");
statement=connection.createStatement();
resultset=statement.executeQuery("select * from emp");
ResultSetMetaData metadata=resultset.getMetaData();
int numberofcolumns=metadata.getColumnCount();
for(int count=1;count<numberofcolumns;count++)
{
System.out.printf("%-8s\t",metadata.getColumnName(count));
}
System.out.println();
while(resultset.next())
{
for(int count=1;count<numberofcolumns;count++)
{
System.out.printf("%-8s\t", resultset.getObject(count));
}
System.out.println();
}
}
catch(SQLException sqlexception)
{
sqlexception.printStackTrace();
}
finally
{
try
{
resultset.close();
statement.close();
connection.close();
}
catch(Exception exception)
{
exception.printStackTrace();
}
}
}
}
代碼如上,出現這個錯誤的原因有很多,如果是代碼上的原因,就應該檢查一下第五行代碼那里"dbc:oracle:thin:@localhost:1521:orcl"中的"orcl"是不是創建數據庫時的那個SID,如果不是就會出錯。注意此處不是連接名,而是SID。
如果這里是正確的,那么就可能是監聽程序的錯誤。這種錯誤可以自行搜索一下,網上的關於題目上的錯誤討論的最多的就是這種原因。可以自行搜索解決方案來解決。