尝试使用 Oracle DB 和 Java 应用程序以便在 Linux 平台上使用 JDBC。
下载了 ojdbc6.jar和ojdbc6dms.jar
在 Linux 上安装了SQLDeveloper 。
在 SQLDeveloper 中建立了一个连接,名称为:Dummy
UserName : abc
Password : abc
DB Name : oracle
DB port : 8181
数据库中的表名:usertable表中的 列:用户名、联系人号码
表包含3个条目。
java代码片段是:
package com.demo.oracleDB;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JC {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("-------- Oracle JDBC Connection Testing ------");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("Oracle JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@IP:8181:oracle", "abc",
"abc");
PreparedStatement Pstmt=connection.prepareStatement("select * from abc.usertable");
ResultSet rst=null;
rst=Pstmt.executeQuery();
System.out.println("Before LOOP");
System.out.println("Row is " + rst.getRow());
System.out.println("Count is " + rst.getFetchSize());
while(rst.next())
{
System.out.println("Values from DB are " );
System.out.println("UserName " + rst.getString("username"));
System.out.println("Contact NUmber " + rst.getString("contactnumber"));
}
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("You made it.");
} else {
System.out.println("Failed to make connection!");
}
}
}
Linux 上的输出是
-------- Oracle JDBC Connection Testing ------
Oracle JDBC Driver Registered!
Before LOOP
Row is 0
Count is 10
不知道为什么它没有进入 ResultSet 循环,尽管计数显示为 10。表中只有 3 个条目,但计数仍显示为 10。
有人可以告诉查询字符串是否正确。
有人可以指导我如何让它工作,以便它开始从控制台上的表格中打印数据。