Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос про подключение к Oracle из Java / 8 сообщений из 8, страница 1 из 1
14.12.2006, 17:50:43
    #34201002
serg4321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
Всем привет!

У меня такой вопрос, могу ли я подключиться со своего компьютера к Oracle (на другом компе)
используя такой код?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 import  oracle.jdbc.pool.*;
 import  java.sql.*;
 import  javax.naming.*;



 public   class  Hello2 {
     public   static   void  main(String[] args)  throws  NamingException {


        Context ctx =  new  InitialContext();

        OracleDataSource oracleDataSource = (OracleDataSource)ctx.lookup("jdbc/OracleDS");

         try  {
            Connection conn = oracleDataSource.getConnection();
        }  catch  (SQLException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

    }
}

или я могу сделать это только таким образом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
 import  oracle.jdbc.pool.OracleDataSource;
 import  java.sql.*;


 public   class  Hello {
     public   static    void  main (String[] args) {
        OracleDataSource oracleDataSource;
        Connection conn;
        Statement stmt =  null ;

         try  {
            oracleDataSource =  new  OracleDataSource();
            oracleDataSource.setNetworkProtocol("tcp");
            oracleDataSource.setDriverType("thin");
            oracleDataSource.setServerName("oracle");
            oracleDataSource.setPortNumber( 1521 );
            oracleDataSource.setDatabaseName("test");

            conn = oracleDataSource.getConnection("tamachi", "xxx");

            stmt = conn.createStatement();
            stmt.execute("create table JAVA_Table(p number)");

        }  catch (SQLException e) {
            System.err.println("error: cannot establish database connection");
            e.printStackTrace();
            System.exit( 1 );
        }  finally  {
             try  {
              if  (stmt !=  null )  stmt.close();
            }  catch  (SQLException e) {
                System.err.println(e.getMessage());
            }
        }
    }
}

?
Можно ли использовать JNDI на удаленной машине?

Заранее спасибо за ответы!
...
Рейтинг: 0 / 0
14.12.2006, 17:56:21
    #34201018
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
JNDI можно использовать где угодно, он для того и создан. надо только настройки соединения передать в конструктор InitialContext.
...
Рейтинг: 0 / 0
14.12.2006, 18:00:39
    #34201032
serg4321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
DeadyJNDI можно использовать где угодно, он для того и создан. надо только настройки соединения передать в конструктор InitialContext.

Спасибо большое! А можно небольшой примерчик :)
...
Рейтинг: 0 / 0
14.12.2006, 18:04:49
    #34201048
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
 import  javax.naming.*;
 import  javax.naming.Context;
 import  javax.rmi.PortableRemoteObject;
 import  java.util.Properties;
/**
 * Created by IntelliJ IDEA.
 * User: Deady
 * Date: 05.09.2006
 * Time: 17:19:13
 */
 public   class  Test {

      public   static   void  main(String[] args) {
         try  {
            dumpCtx( "java:", "");
        }  catch  (Exception e) {
            System.out.println(":::::::::::::: Error :::::::::::::::::");
            e.printStackTrace();
        }
    }



     private   static   void  dumpCtx( String name, String prefix )  throws  Exception {
         try  {
            Context ctx = getInitialContext();
            NamingEnumeration en = ctx.list(name);
             while  (en.hasMore()) {
                NameClassPair pair = (NameClassPair)en.next();
                System.out.println( prefix + pair.toString() );
                String subname = pair.getName();
                dumpCtx( name + "/" + subname, prefix + "    ");
            }
        }  catch  (NotContextException e) {
            //nothing
        }  catch  (CannotProceedException e) {           
        }
    }





	 public   static  Context getInitialContext()  throws  javax.naming.NamingException {
		Properties p =  new  Properties();
		p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
		p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
		p.put(Context.PROVIDER_URL, "jnp://localhost:1099");
		 return   new  javax.naming.InitialContext(p);
	}
}



пример для JBoss. выводит все, что зарегистрировано в JNDI
...
Рейтинг: 0 / 0
15.12.2006, 08:46:07
    #34201759
serg4321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
Что мне вписать здесь, если я хочу подключиться к Oracle Application Server, а не к JBOSS

Код: plaintext
1.
2.
3.
4.
Properties p =  new  Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
p.put(Context.PROVIDER_URL, "jnp://localhost:1099");
 return   new  javax.naming.InitialContext(p);


Обыскал весь форум - так и не нашел.. Подскажите плиз..
...
Рейтинг: 0 / 0
15.12.2006, 11:18:49
    #34202267
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
Код: plaintext
1.
2.
3.
4.
5.
6.
Hashtable env =  new  Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.ApplicationClientInitialContextFactory");
env.put(Context.PROVIDER_URL, "ormi://myhost/employee");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "welcome");
...

что-то типа этого ?
...
Рейтинг: 0 / 0
15.12.2006, 17:09:40
    #34204002
serg4321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
zalexaka
Код: plaintext
1.
2.
3.
4.
5.
6.
Hashtable env =  new  Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.ApplicationClientInitialContextFactory");
env.put(Context.PROVIDER_URL, "ormi://myhost/employee");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "welcome");
...

что-то типа этого ?

Да, похоже, а employee - это имя БД? А порт указывать не нужно?
...
Рейтинг: 0 / 0
15.12.2006, 17:19:04
    #34204040
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про подключение к Oracle из Java
какая БД? это ж JNDI.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос про подключение к Oracle из Java / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]