He configurado un esquema de usuario de geodatabase de Oracle y he cargado algunos datos en él. Ahora quiero conectarme a él programáticamente usando ArcObjects, el problema es que no veo cómo. ¿Dónde puedo establecer el nombre del esquema recién creado en mi conjunto de propiedades de conexión, o cómo puedo cambiar el valor del esquema después de haberme conectado? En ArcCatalog se hace en la ventana de propiedades de conexión de la geodatabase:
El código a continuación funciona bien conectándose al esquema SDE predeterminado. ¿Qué debo cambiar para conectarme a una geodatabase de usuario? He intentado examinar IDatabaseConnectionInfo2
y IWorkspaceProperties
pero no veo dónde puedo establecer o cambiar el esquema al que estoy conectado.
public static IWorkspace ConnectToTransactionalVersion(String dbclient, String dbConnProp, String user, String password, String database, String version, String authentication)
{
IPropertySet propertySet = new PropertySet();
propertySet.SetProperty("DBCLIENT", dbclient);
propertySet.SetProperty("DB_CONNECTION_PROPERTIES", dbConnProp);
propertySet.SetProperty("DATABASE", database);
propertySet.SetProperty("USER", user);
propertySet.SetProperty("PASSWORD", password);
propertySet.SetProperty("VERSION", version);
propertySet.SetProperty("AUTHENTICATION_MODE", authentication);
Type factoryType = Type.GetTypeFromProgID(
"esriDataSourcesGDB.SdeWorkspaceFactory");
IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance
(factoryType);
return workspaceFactory.Open(propertySet, 0);
}
Intenté agregar "SCHEMA" como propiedad en propertySet y se ignoró, también intenté configurar la propiedad de la versión en la nueva versión predeterminada del esquema de usuario pero da un error de "versión no encontrada".