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:
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. –
Ç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