2010-05-20 26 views
5

Denetlenilmesi gereken bir Java uygulamasına sahibim (bu nedenle uygulamanın uygulama adıyla tanımlanabildiği bir yönteme ihtiyacım var). Ben googled ve özelleştirilmiş adla uygulaması kaydedilirken verir yöntemi .setClientInfo ojdbc14 vardır bulundu, bu yüzden o iş almaya çalışıyorum ama aşağıdaki hatayı alıyorum: Ben Oracle 10g express ile ojdbc14 kullanıyorumayarı JDBC için İstemci Bilgisi Oracle için

Exception in thread "main" java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.setClientInfo(Ljava/lang/String;Ljava/lang/String;)V

. Çizgiyi set yoksa: oldukça iyi çalışıyor

connection.setClientInfo("ApplicationName","Customers"); 

.... ve denetim bilgisi kontrol ederek bunu oracle uygulama adını alır görebilirsiniz: OS_program_name = JDBC İnce İstemci, ama bir yolunu bulmalıyız Özelleştirilmiş bir isim için değiştirmek için.

Uygulama adını ayarlaması gereken satırın kaldırılmasıyla, yukarıdaki hatayı döndürür.

Her bir sorgu için Connection nesnesi için bu yöntem kullanılabilir. Bu sorunun nasıl çözüleceği hakkında bir fikrin var mı? senin bağlantıları için programı sütuna karşı gruplayarak

Properties jdbcProperties = new Properties(); 

this.jdbcProperties.put("user", userName); 
this.jdbcProperties.put("password", password); 
this.jdbcProperties.put("v$session.program", "YourApplicationName"); 
DriverManager.getConnection(url, jdbcProperties); 

sonra v $ oturumu kontrol edin:

cevap

9

AbstractMethodError için, aşağıdaki Bu örnek kodu kullanabilirsiniz Oracle da bağlantılarını ayırt etmek amacıyla Why do I get java.lang.AbstractMethodError when trying to load a blob in the db?

kontrol ediniz ..

+0

Yardımına gerçekten minnettarım, bu bana gerçekten yardımcı oldu ... Bana verdiğin hatları uyguladım ve gayet iyi çalışıyor .... çok teşekkürler, içtenlikle. –

+0

Çalıştığını duyduğuma sevindim. Yine de, Oracle kodunuza bağlanmak için oci urls kullandığınızda bu kod çalışmaz. Sadece ince URL'ler için çalışıyor, ben Oracle'ı bunun hakkında anlamıyorum. Bu noktada, uygulamalarınızı izlemek için modül adını ve eylemi ayarlamak için DBMS_APPLICATION_INFO paketini kullanabilirsiniz. – gokhant

İlgili konular