编写的Java程序连接不上Oracle数据库

程序如下:JDBC TEST:
2025-01-19 11:32:12
推荐回答(2个)
回答1:

Java程序连接不上Oracle数据库的原因会有很多可能性,比如代码编写错误,数据库配置有问题等等,都会屋连接失败的。

工具:

oracle

Java程序连接Oracle代码及注释已在代码中标明

package com.java.dbtest;  
  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
  
public class TestConnection implements DBTest{  
  
    public void SelectUser(){  
  
        //设定数据库驱动,数据库连接地址、端口、名称,用户名,密码  
        String driverName="oracle.jdbc.driver.OracleDriver";  
        String url="jdbc:oracle:thin:@localhost:1521:BJPOWERNODE";  //test为数据库名称,1521为连接数据库的默认端口  
        String user="zhidao";   //aa为用户名  
        String password="zhidao";  //123为密码  
          
        PreparedStatement pstmt = null;  
        ResultSet rs = null;  
          
        //数据库连接对象  
        Connection conn = null;  
          
        try {  
            //反射Oracle数据库驱动程序类  
            Class.forName(driverName);  
              
            //获取数据库连接  
            conn = DriverManager.getConnection(url, user, password);  
              
            //输出数据库连接  
            System.out.println(conn);  
              
            //定制sql命令  
            String sql = "select * from t_user where user_id = ?";  
              
            //创建该连接下的PreparedStatement对象  
            pstmt = conn.prepareStatement(sql);  
              
            //传递第一个参数值 root,代替第一个问号  
            pstmt.setString(1, "root");  
              
            //执行查询语句,将数据保存到ResultSet对象中  
            rs = pstmt.executeQuery();  
              
            //将指针移到下一行,判断rs中是否有数据  
            if(rs.next()){  
                //输出查询结果  
                System.out.println("查询到名为【" + rs.getString("user_id") + "】的信息,其密码为:" + rs.getString("password"));  
            }else{  
                //输出查询结果  
                System.out.println("未查询到用户名为【" + rs.getString("user_id") + "】的信息");  
            }  
              
        } catch (ClassNotFoundException e) {  
            e.printStackTrace();  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }finally{  
            try{  
                if(rs != null){  
                    rs.close();  
                }  
                if(pstmt != null){  
                    pstmt.close();  
                }  
                if(conn != null){  
                    conn.close();  
                }  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }     
        }  
      
    }  
      
    public static void main(String[] args){  
        new TestConnection().SelectUser();  
    }  
}

在main函数中,右键,选择“Run as”=>"Java Application",就会运行该程序段,在Console中,可以看到运行结果,如果给出一串类似于“oracle.jdbc.driver.T4CConnection@7c242f04”这样的字符串,就说明连接成功了。

回答2:

Class.forName(driverClass);
Connection conn=DriverManager.getConnection(url, userName, password);