Making a connection to an ArcSDE geodatabase workspace is the foundation to accessing enterprise data. This sample will show you how to connect to a geodatabase residing on an ArcSDE server. The example code is a function that takes the name of the server, the instance name, user name and password and optional database and version names as strings and returns a workspace.
How to use
- Paste the function in your project.
- Call the function from your code.
[VCPP]
//
//
// openSDEWorkspace: create and open the sde workspace based on the provided information
//
HRESULT connectToSDE(BSTR server, BSTR instance, BSTR user, BSTR passwd, BSTR
database, BSTR version, IWorkspace **outWorkspace)
{
if (outWorkspace == NULL)
return E_POINTER;
// create the property set for the connection parameters
IPropertySetPtr ipPropertySet;
ipPropertySet.CreateInstance(CLSID_PropertySet);
// configure the propertyset
ipPropertySet->SetProperty(CComBSTR("SERVER"), CComVariant(server));
ipPropertySet->SetProperty(CComBSTR(L "INSTANCE"), CComVariant(instance));
ipPropertySet->SetProperty(CComBSTR(L "DATABASE"), CComVariant(database));
ipPropertySet->SetProperty(CComBSTR(L "USER"), CComVariant(user));
ipPropertySet->SetProperty(CComBSTR(L "PASSWORD"), CComVariant(passwd));
ipPropertySet->SetProperty(CComBSTR(L "VERSION"), CComVariant(version));
// open workspace
IWorkspaceFactoryPtr ipWorkspaceFactory;
ipWorkspaceFactory.CreateInstance(CLSID_SdeWorkspaceFactory);
return ipWorkspaceFactory->Open(ipPropertySet, NULL, outWorkspace);
}
Development licensing |
Deployment licensing |
Engine Developer Kit |
Engine |