An object that transports GeoDataServer data.
Product Availability
Interfaces
Interfaces | Description |
---|---|
IClone (esriSystem) | Provides access to members that control cloning of objects. |
IGDSData | Provides access to methods supported by a GDSReplicaData object. |
IPersist | Defines the single method GetClassID, which is designed to supply the CLSID of an object that can be stored persistently in the system. IPersist is the base interface for three other interfaces: IPersistStorage, IPersistStream, and IPersistFile. |
IPersistStream (esriSystem) | |
IXMLSerialize (esriSystem) | Provides access to members that XML serialize and deserialize an object to/from XML. |
IXMLVersionSupport (esriSystem) | Provides access to members that help in serializing an object to different namespaces (versions). |
Remarks
A GDSData instance is used whenever you need to export data from or import data into a GeoDataServer object. The GDSData class acts as a data carrier. Export operations, such as ExportReplicaDataChanges or CreateReplica, will return a GDSData instance. Import operations, such as ImportReplicaSchemaChanges or ImportAcknowledgement, will take a GDSData instance as an argument. These types of operations are normally performed when you are working in a disconnected environment. When working in a connected envronment, use the methods from the ReplicationAgent coclass.
When exporting, use the IGDSData::TransportType property to determine how the data was exported. If it was exported embedded (esriGDSTransportTypeEmbedded) then the data exists in memory as a byte array. You can then use the IGDSData::EmbeddedData property to get the byte array and write it to a file. If it was exported to a URL (esriGDSTransportTypeURL) then an export file with the data has been written to the virtual directory of the GIS server. The IGDSData::URL property returns the virtual directory location. The IGDSData::Compressed property returns whether or not the data has been compressed. The IGDSData::ConnectionProperties will contain the connection information for the GeoDataServer.
When importing, you must initialize the GDSData coclass appropriately by setting the properties of the IGDSData interface. If importing from a file at a URL or in a local directory, you need to set the IGDSData::URL property to the file location. You must also set the IGDSData::TransportType to URL. If importing from a byte array, you need to set the IGDSData::EmbeddedData proprety with the byte array and set IGDSData::TransportType to Embedded.
If using URL, note that the GeoDataServer must be able to access the file location. For example, if importing from a local file into a GeoDataServer accessed through ArcGIS server, you must use embedded. This is because the GeoDataServer will not be able to access the local file directory as specified by the URL property.
When importing, you must also set IGDSData::Compressed to true if the data is compressed or false if the data is not compressed. If importing from a secure server you also need to set the IGDSData::ConnectionProperties with the proper credentials to access the data.