微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 java

如何解决在 java

我正在尝试使用 Java 程序连接 oracle 数据库。需要该数据库来连接 SSL cwallet.sso 文件。当我尝试连接它时,它弹出类未发现异常。另外,我不确定我的代码是否正确。

代码

package com.erplogic.lms.dabasehelper;

导入 com.erplogic.lms.utilities.*;

  import java.security.Security;
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.sqlException;
  import java.text.DateFormat;
  import java.text.SimpleDateFormat;
  import java.util.Date;
  import java.util.Properties;

public class DatabaseConnection {
// ORACLE DATABASE Connection

private Connection con;
private final String oracleDriver;
private final String connectionString;
private final String userName;
private final String password;

public DatabaseConnection() {
    oracleDriver = PropertyFileHandler.PROPERTY_OBJECT.getProperty("ORACLE_DATABASE_DRIVER");
    connectionString = PropertyFileHandler.PROPERTY_OBJECT.getProperty("DATABASE_CONNECTION_STRING");
    userName = PropertyFileHandler.PROPERTY_OBJECT.getProperty("DATABASE_USER_NAME");
    password = PropertyFileHandler.PROPERTY_OBJECT.getProperty("DATABASE_USER_PASSWORD");
}

public Connection connectOracleDatabase() {
    try {
    
        log4jHandler.infoLogger("Connecting To Database ::",PropertyFileHandler.class);
        //step1 load the driver class
        System.out.println(oracleDriver);
        //Class.forName(oracleDriver);
        //properties
        Properties props = new Properties();
        props.setProperty("user",userName);
        props.setProperty("password",password);
        props.setProperty("javax.net.ssl.trustStore","D:\\sapUAT\\ssl_wallet\\cwallet.sso");
        props.setProperty("javax.net.ssl.trustStoreType","SSO");
        props.setProperty("javax.net.ssl.keyStore","D:\\sapUAT\\ssl_wallet\\cwallet.sso");
        props.setProperty("javax.net.ssl.keyStoreType","SSO");
        props.setProperty("oracle.net.authentication_services","(Tcps)");
        Security.addProvider(new oracle.security.pki.OraclePKIProvider());
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());



        //step2 create  the connection object
        con = DriverManager.getConnection(connectionString,props);
        System.out.println(con);
        log4jHandler.infoLogger("Database Connection Success ::",PropertyFileHandler.class);

    } catch (sqlException e) {
        log4jHandler.errorLogger("Database Connection Issue :: " + e.getMessage(),PropertyFileHandler.class);
        Email emailTrigger = new Email();
        //emailTrigger.triggerEmailWithoutAttachment("Database Connection Issue","Please check VPN is Connected Or Not \n"+e.getMessage());


       emailTrigger.triggerEmailWithOutAttachmentRohaGroup("Finnone SAP Interface : Database Connection Issue : " +DateFunction.getTheCurrentSystemDate(),EmailTemplates.messageBodyForDatabaseDown());

        System.exit(0);

    }

    return con;
 }
 }

错误线程“main”中的异常java.lang.NoClassDefFoundError:oracle/security/crypto/core/AuthenticationException

解决方法

确保类路径中有 oraclepki.jar、osdt_core.jar 和 osdt_cert.jar 以及 ojdbc jar。这些 jar 可以从 OTN/maven 下载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。