【问题标题】:connect oracle database in netbeans在netbeans中连接oracle数据库
【发布时间】:2016-08-07 12:46:06
【问题描述】:

我正在尝试将 oracle 数据库连接到 netbeans。我按照https://netbeans.org/kb/docs/ide/oracle-db.html 中给出的说明进行操作。 我完成了给定站点的所有步骤。 但是当我尝试使用 servlet 页面连接数据库时出现错误。

错误如下,

发生错误:侦听器拒绝连接并出现以下错误:ORA-12505,TNS:侦听器当前不知道连接描述符中给出的 SID 客户端使用的连接描述符是:localhost:1521:XE [kavindu on KAVINDU ]

我不知道接下来要做什么,

我的servlet代码如下,

 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    String customer_id = request.getParameter("customer_id");
    String f_name = request.getParameter("f_name");
    String l_name = request.getParameter("l_name");
    String mobile_no = request.getParameter("mobile_no");
    String address = request.getParameter("address");

 try {
         //loading driver 

        Class.forName("oracle.jdbc.driver.OracleDriver");

        //creating connection with the database 
        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE [kavindu on KAVINDU]","kavindu","123456");

        PreparedStatement ps = con.prepareStatement("insert into COMPACT_DISK values(?,?,?,?,?)");


        ps.setString(1, customer_id);
        ps.setString(2, f_name);
        ps.setString(3, l_name);
        ps.setString(4, mobile_no);
        ps.setString(5, address);
        int i = ps.executeUpdate();

 if (i > 0) {
            //out.println("Compact disk successfully inserted");
            RequestDispatcher d = request.getRequestDispatcher("new.html");
            d.forward(request, response);
        }
    } catch (ClassNotFoundException | SQLException | ServletException | IOException se) {
        out.println("Error Occured : \n" + se.getLocalizedMessage());
    }
}

 @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

  */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>

}

【问题讨论】:

  • 从 JDBC URL 中删除 [kavindu on KAVINDU] 部分。教程中没有任何地方说明您必须输入它。

标签: java oracle jdbc


【解决方案1】:

检查数据库SID是否正确,我认为是问题所在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多