У меня есть JAVA-приложение, которое должно контролироваться (так, очевидно, мне нужен путь, которым приложение может быть отождествлено с именем приложения). Я погуглил и нашел, что ojdbc14 имеет метод .setClientInfo
который позволяет регистрировать приложение в специализированном имени, таким образом, я пытаюсь получить его работа, но я получаю следующую ошибку:
Исключение в потоке "основной" java.lang. AbstractMethodError: oracle.jdbc.driver. T4CConnection.setClientInfo (Ljava/lang/String; Ljava/lang/String;) V
Я использую ojdbc14 с экспрессом 10 г оракула. Если я не устанавливаю строку:
connection.setClientInfo("ApplicationName","Customers");
это работает вполне прилично.... и путем проверки, что контрольная информация I видит, что оракул получает приложение name:OS_program_name=JDBC Тонкий клиент, но мне нужен способ изменить его для специализированного имени.
Путем некомментария, что строка, которая, как предполагается, устанавливает имя приложения, это возвращает ошибку выше.
На документацию оракула, что метод доступен для a Connection
объект. У Вас есть какая-либо идея, как решить эту проблему?
Для AbstractMethodError, пожалуйста, проверьте Why do I get java.lang.AbstractMethodError when trying to load a blob in the db?
Чтобы отличить ваши соединения в Oracle, вы можете использовать этот пример кода ниже:
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);
затем проверьте v$session, группируя по столбцу program для ваших соединений....