Я бы хотел записывать в свою БД Oracle идентификатор пользователя и IP-адрес вошедшего в систему пользователя (веб-приложение) всякий раз, когда я выполняю SQL UPDATE и INSERT.Например,
public static int updateUser(STKUser user, STKUser loggedIn) throws DAOException {
Connection connection = null;
connection = DB.getConnFromCache();
PreparedStatement ps = null;
String query = "INSERT INTO xtblPersonnel (pID, pPssWrd, pAdminDate, pAdminIP, pAdminBy) VALUES (?,?,SYSDATE,?,?)";
try {
ps = connection.prepareStatement(query);
ps.setString(1, user.getBadge());
ps.setString(2, user.getPassword());
ps.setString(3, loggedIn.getIpAddress());
ps.setString(4, loggedIn.getBadge());
return ps.executeUpdate();
}
catch (Exception e) {
System.out.println("SQL Exception inserting new user with badge: " + user.getBadge() + ". Error Message: " + e.getMessage());
LOGGER.log(Level.INFO, "SQL Exception inserting new user with badge: " + user.getBadge() + ". Error Message: " + e.getMessage(), user);
throw new DAOException("SQL Exception inserting new user!");
// return 0;
}
finally {
DB.closePreparedStatement(ps);
DB.releaseConnToCache(connection);
}
}
STKuser - это Javabean
Мое приложение использует общее имя пользователя и пароль Oracle db, поэтому я хочу записать, кто это сделалобновление или вставка и с какого компьютера.
Это приемлемый подход.Я имел обыкновение проходить в сессии, но понял, что это нет нет.