Merhabalar. Ben DataSOURCE ile Oracle-a connection icin method yazdim ama methodu run etdiyim zaman boyle hata aliyorum:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
Onceden tesekkurler..

soruldu: 24 Haz '14, 09:36

Elxan's gravatar image

Elxan
135161924
cevap kabul oranı: 14%

datasource'tan kasıt uygulama sunucusu uzerındeki db connection tanımlaması dimi? Öyle ise hangi uygulama sunucusunu kullanıyorsunuz. WebLogic, JBoss, GlassFish, WebSphere ..

(24 Haz '14, 11:31) Turgay Can Turgay%20Can's gravatar image

Sorunuzu tam anlamadim.Apache Tomcat

(24 Haz '14, 11:37) Elxan Elxan's gravatar image

Glassfishde calisdirdigim zaman boyle exception veriyor :
javax.naming.NamingException: Lookup failed for 'java:/comp/env' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NameNotFoundException: No object bound for java:/comp/env [Root exception is java.lang.NullPointerException]]

(24 Haz '14, 12:21) Elxan Elxan's gravatar image

Datasource nasıl tanımladınız, onu yazar mısınız ? Birde datasource nasıl almaya çalışıyorunuz ?

Tomcat ile glassfish de static resourcelara ulaşmak bir birinden farklı olabilir belki.

(26 Haz '14, 08:23) gklp gklp's gravatar image

public static Connection getConnection() throws Exception { Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/acadb"); Connection connection = ds.getConnection();

    if (connection == null) {
        throw new Exception("getConnection() Connection is null ");
    }

connection.setAutoCommit(false);

return connection;
}
(26 Haz '14, 10:01) Elxan Elxan's gravatar image

contex.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/AKA">
    <Resource accessToUnderlyingConnectionAllowed="true" 
              auth="Container" 
              driverClassName="oracle.jdbc.OracleDriver" 
              logAbandoned="true" 
              maxActive="20" 
              maxIdle="30" 
              maxWait="10000" 
              name="jdbc/acadb" 
              password="ORA123qwe"
              removeAbandoned="true" 
              removeAbandonedTimeout="60" 
              type="javax.sql.DataSource"
              url="jdbc:oracle:thin:@192.168.1.11:1521:orcl" 
              username="SYSTEM"/>
</Context>

web.xml

  <resource-ref>
        <description>Academy Database</description>
        <res-ref-name>jdbc/acadb</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

DBUtility.java

 public static Connection getConnection() throws Exception {
        Context ctx = new InitialContext();
        DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/acadb");
        Connection connection = ds.getConnection();

if (connection == null) {
            throw new Exception("getConnection() Connection is null ");
        }

connection.setAutoCommit(false);

return connection;
    }
(26 Haz '14, 10:24) Elxan Elxan's gravatar image

ctx.lookup("java:/comp/env/jdbc/acadb"); =>
ctx.lookup("jdbc/acadb"); şeklinde denermisin.

(26 Haz '14, 10:30) gklp gklp's gravatar image
7 yorumdan 5 tanesi gösteriliyor hepsini göster

Tomcat için oldukça anlaşılır bir örnek mysql yerine oracle driver'ı eklemeniz yeterli olacaktır.

kaynak

permanent link

cevaplandı: 24 Haz '14, 15:28

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 24 Haz '14, 15:29

Ben aynisini yapdim ama sorun çözülmedi

(26 Haz '14, 10:02) Elxan Elxan's gravatar image

yaptığınız config'leri ve yeni bir exception varsa paylaşırmısınız.

(26 Haz '14, 10:16) Turgay Can Turgay%20Can's gravatar image

DBUtility.java

public static Connection getConnection() throws Exception { Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/acadb"); Connection connection = ds.getConnection();

    if (connection == null) {
        throw new Exception("getConnection() Connection is null ");
    }

connection.setAutoCommit(false);

return connection;
}
(26 Haz '14, 10:33) Elxan Elxan's gravatar image

contex.xml <?xml version="1.0" encoding="UTF-8"?> <context path="/AKA"> <resource accesstounderlyingconnectionallowed="true" auth="Container" driverclassname="oracle.jdbc.OracleDriver" logabandoned="true" maxactive="20" maxidle="30" maxwait="10000" name="jdbc/acadb" password="ORA123qwe" removeabandoned="true" removeabandonedtimeout="60" type="javax.sql.DataSource" url="jdbc:oracle:thin:@192.168.1.11:1521:orcl" username="SYSTEM"/> </context>

(26 Haz '14, 10:34) Elxan Elxan's gravatar image

web.xml

<resource-ref> <description>Academy Database</description> <res-ref-name>jdbc/acadb</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

(26 Haz '14, 10:35) Elxan Elxan's gravatar image

https://community.oracle.com/thread/2253435?start=0&tstart=0 Bu sayfaki yazılanların faydası olabilir.

permanent link

cevaplandı: 26 Haz '14, 13:34

M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Müslüm ÖZTÜRK
10.6k103690
cevap kabul oranı: 28%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×50
×11

Soruldu: 24 Haz '14, 09:36

Görüntüleme: 947 kez

Son güncelleme: 26 Haz '14, 13:34

powered by BitNami OSQA