[Visual Basic 6.0]
Public Sub OpenDatabaseLocatorWorkspace()
'+++ opens an ArcSDE locator workspace
Dim pPropertySet As esriSystem.IPropertySet
Dim pWorkspaceFactory As esriGeoDatabase.IWorkspaceFactory
Dim pWorkspace As esriGeoDatabase.IWorkspace
Dim pLocatorManager As esriLocation.ILocatorManager
Dim pDatabaseLocatorWorkspace As esriLocation.IDatabaseLocatorWorkspace
'+++ create a property set to specify the ArcSDE workspace
Set pPropertySet = New esriSystem.PropertySet
With pPropertySet
.SetProperty "server", "napanee"
.SetProperty "instance", "5190"
.SetProperty "user", "sde"
.SetProperty "password", "sde"
.SetProperty "database", "sde"
.SetProperty "version", "sde.default"
End With
'+++ open the ArcSDE workspace
Set pWorkspaceFactory = New esriDataSourcesGDB.SdeWorkspaceFactory
Set pWorkspace = pWorkspaceFactory.Open(pPropertySet, 0)
'+++ get the locator workspace from the ArcSDE workspace
Set pLocatorManager = New esriLocation.LocatorManager
Set pDatabaseLocatorWorkspace = pLocatorManager.GetLocatorWorkspace(pWorkspace)
End Sub
[Visual Basic .NET]
Sub SDELocatorWorkspace()
' open an ArcSDE Workspace
Dim connectionProperties As IPropertySet = New PropertySet
With connectionProperties
.SetProperty("server", "SDEServer")
.SetProperty("instance", "5151")
.SetProperty("database", "sde")
.SetProperty("user", "sdeUser")
.SetProperty("password", "sdePassword")
.SetProperty("version", "SDE.Default")
End With
Dim obj As System.Object = Activator.CreateInstance(Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory"))
Dim workspaceFactory As IWorkspaceFactory2 = obj
Dim workspace As IWorkspace = workspaceFactory.Open(connectionProperties, 0)
' open the Locator Workspace
obj = Activator.CreateInstance(Type.GetTypeFromProgID("esriLocation.LocatorManager"))
Dim locatorManager As ILocatorManager2 = obj
Dim databaseLocatorWorkspace As IDatabaseLocatorWorkspace = locatorManager.GetLocatorWorkspace(workspace)
End Sub
[C#]
public void SDELocatorWorkspace()
{
// Set up the SDE connection properties
IPropertySet connectionProperties = new PropertySetClass();
connectionProperties.SetProperty("server", "SDEServer");
connectionProperties.SetProperty("instance", "5151");
connectionProperties.SetProperty("database", "sde");
connectionProperties.SetProperty("user", "sdeUser");
connectionProperties.SetProperty("password", "sdePassword");
connectionProperties.SetProperty("version", "SDE.Default");
// Get the Workspace
System.Object obj = Activator.CreateInstance(Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory"));
IWorkspaceFactory2 workspaceFactory = obj as IWorkspaceFactory2;
IWorkspace workspace = workspaceFactory.Open(connectionProperties, 0);
obj = Activator.CreateInstance(Type.GetTypeFromProgID("esriLocation.LocatorManager"));
ILocatorManager2 locatorManager = obj as ILocatorManager2;
ILocatorWorkspace locatorWorkspace = locatorManager.GetLocatorWorkspace(workspace);
IDatabaseLocatorWorkspace databaseLocatorWorkspace = (IDatabaseLocatorWorkspace)locatorWorkspace;
}