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。

如果这里是正确的,那么就可能是监听程序的错误。这种错误可以自行搜索一下,网上的关于题目上的错误讨论的最多的就是这种原因。可以自行搜索解决方案来解决。

05-16 12:47