Могу ли я изменить «AppName» на уже открытом соединении JTDS?

StackOverflow https://stackoverflow.com/questions/6829174

  •  26-10-2019
  •  | 
  •  

Вопрос

Я ищу способ передать информацию о транзакциях по применению веб-применения в базовый процесс базы данных. В моем коде Java у меня может быть транзакционный метод Reservationservice#search (), который запускает один или несколько SQL. На СУБД я просто вижу паутину вместе с некоторыми замками. Я ищу способ добавить тег "Reservationservice#Search" в процесс базы данных.

JTDS / Sybase ASE имеет AppName, которое можно передавать как свойство соединения. Поскольку мы используем пул соединений, существующие соединения используются повторно, но, насколько мне известно, AppName читается только при установлении нового соединения.

Как я могу переоценить AppName на уже существующем соединении (без закрытия/открытия)? Или, если это просто невозможно, есть ли другие идеи для получения информации о транзакционном контексте от Java до СУБД?

  • Tomcat WebApplication (Java 6)
  • C3P0 Pool (только поддерживает JDBC 3)
  • JTD, подключающиеся к Sybase ASE 15

Спасибо Саймон

Это было полезно?

Решение

К сожалению, нет, кажется, что вы можете указать это в параметрах URL только при открытии соединения, но не можете быть изменены последовательными словами.

Вы можете пройти в каком -то сессии из своей Java/Tomecat на все ваши запросы Sybase. Для меня это было просто, поскольку я использовал хранимые процедуры для всех сообщений между моим приложением Java и SQL Server. Я основал свой SessionId в Java на сессии J2EE.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top