Un espacio de trabajo SDE debe implementar esa interfaz, a menos que sea un Sde3Espacio de trabajo objeto. Pero para ser honesto, no sé la diferencia entre Sde3Workspace y Sde4Workspace .
Como con todos los enumeradores ArcObjects, es necesario llamar a Reset()
y, a continuación, repasar los resultados con Next()
. Tenga en cuenta que ConnectedUsers
puede lanzar una excepción si no tienes permiso para ver los usuarios conectados.
Lamentablemente no sé cómo utilizar el Java ArcObjects SDK, pero supongo que debe ser muy similar a C #, así que aquí está un ejemplo:
private void GetConnectedUsers(IWorkspace workspace)
{
var connectionInfo = workspace as IDatabaseConnectionInfo3;
if (connectionInfo == null) return; // Other types of workspace, e.g. fgdb
IEnumUserInfo listUserInfo;
try
{
listUserInfo = connectionInfo.ConnectedUsers;
}
catch (Exception ex)
{
// May not have permission to see connected users
Debug.WriteLine(ex.Message);
return;
}
listUserInfo.Reset();
IUserInfo userInfo;
while ((userInfo = listUserInfo.Next()) != null)
{
Debug.WriteLine(userInfo.Name);
}
}