public override int Execute()
        {
            CommandStatus retCode;

            IConnection conn = null;

            try
            {
                conn = CreateConnection(_provider, _connstr);
                conn.Open();
            }
            catch (OSGeo.FDO.Common.Exception ex)
            {
                WriteException(ex);
                retCode = CommandStatus.E_FAIL_CONNECT;
                return((int)retCode);
            }

            using (conn)
            {
                using (FdoFeatureService service = new FdoFeatureService(conn))
                {
                    try
                    {
                        if (string.IsNullOrEmpty(_schemaName))
                        {
                            service.WriteSchemaToXml(_schemaFile);
                        }
                        else
                        {
                            service.WriteSchemaToXml(_schemaName, _schemaFile);
                        }
                        WriteLine("Schema(s) written to {0}", _schemaFile);
                        retCode = CommandStatus.E_OK;
                    }
                    catch (OSGeo.FDO.Common.Exception ex)
                    {
                        WriteException(ex);
                        retCode = CommandStatus.E_FAIL_SERIALIZE_SCHEMA_XML;
                    }
                }
                conn.Close();
            }

            return((int)retCode);
        }
        public override int Execute()
        {
            CommandStatus retCode;

            IConnection conn = null;
            try
            {
                conn = CreateConnection(_provider, _connstr);
                conn.Open();
            }
            catch (OSGeo.FDO.Common.Exception ex)
            {
                WriteException(ex);
                retCode = CommandStatus.E_FAIL_CONNECT;
                return (int)retCode;
            }

            using (conn)
            {
                using (FdoFeatureService service = new FdoFeatureService(conn))
                {
                    try
                    {
                        if (string.IsNullOrEmpty(_schemaName))
                            service.WriteSchemaToXml(_schemaFile);
                        else
                            service.WriteSchemaToXml(_schemaName, _schemaFile);
                        WriteLine("Schema(s) written to {0}", _schemaFile);
                        retCode = CommandStatus.E_OK;
                    }
                    catch (OSGeo.FDO.Common.Exception ex)
                    {
                        WriteException(ex);
                        retCode = CommandStatus.E_FAIL_SERIALIZE_SCHEMA_XML;
                    }
                }
                conn.Close();
            }

            return (int)retCode;
        }