السلام عليكم و رحمة الله و بركاته ,
أنا أحاول أن أكتب Java class
حتى أشبك مع قاعدة بيانات أوراكل , البيئة التي أستعملها هي IBM WebSphere Rational Application Development - RAD
و طريقة الشبك على قاعدة البيانات ليست بالطريقة المعتادة , لكنها باستخدام اللوك آب ...
وهذا هو الكود .. بالله انتبهوا من الميثود getSql_Conn بالذات ..... المشكلة عند تطبيق هذا الميثود يظهر Exception
jndiNamingException
بالله كيف يمكن الحل و شو قصته و كيف يظهر ؟ بديش حل للكود بس بدي أعرف ...... شو قصة هالإكسبشن ....
package com.example.model;
import javax.naming.*;
import java.sql.*;
import javax.naming.Context;
import javax.sql.DataSource;
public class DataBaseConnection {
private String jndiName;
private Connection sql_Conn;
public String getJndiName() {
return jndiName;
}
public void setJndiName(String jndiName) {
this.jndiName = jndiName;
}
public Connection getSql_Conn() {
Connection result = null;
try {
Context initialContext = new InitialContext();
if ( initialContext == null){
System.out.println("JNDI problem. Cannot get InitialContext.");
}
DataSource datasource = (DataSource)initialContext.lookup("jdbc/HrDr");
if (datasource != null) {
result = datasource.getConnection();
}
else {
System.out.println("Failed to lookup datasource.");
}
}
catch ( NamingException ex ) {
System.out.println("Cannot get connection: " + ex.getMessage());
}
catch(SQLException ex){
System.out.println("Cannot get connection: " + ex.getMessage());
}
return result;
}
public void setSql_Conn(Connection sql_Conn) {
this.sql_Conn = sql_Conn;
}
public static void main(String[] args)
{
DataBaseConnection db = new DataBaseConnection();
Connection conn = db.getSql_Conn();
db.setSql_Conn(conn);
}
}