7

In ArcGIS 10 I could use the Create File GDB geoprocessing tool to create a 9.3 file geodatabase or the Create Personal GDB geoprocessing tool to create a 9.3 personal geodatabase. But I cant't find a similar method in the ArcObjects SDK for ArcGIS 10. The IWorkspaceFactory2.Create method seems only to create geodatabases compatible with ArcGIS 10.

Possible workarounds are:

But is there really no possibility to create a 9.3 Geodatabase with the ArcObjects SDK for ArcGIS 10?

1 Answer 1

4

You can do it with the geoprocessor (add using ESRI.ArcGIS.Geoprocessor; and using ESRI.ArcGIS.DataManagementTools; to your class file).

            //Initialize GeoProcessor
            Geoprocessor geoProcessor = new Geoprocessor();

            //Create file geodatabase 
            CreateFileGDB createFileGDB = new CreateFileGDB();
            createFileGDB.out_folder_path = @"c:\temp";
            createFileGDB.out_name = "chickens";
            createFileGDB.out_version = "9.3";

            geoProcessor.Execute(createFileGDB, null);
4
  • The geoprocessor functions are built on ArcObjects so it seems to me that there must be a way to do it without instantiating a GP object. I guess it doesn't matter if it works, but I am curious as to how the GP method does it.
    – blah238
    Aug 3, 2011 at 17:51
  • Thanks Jay. The geoprocessor seems to be the only way to create 9.3 GDBs. I think raw ArcObjects can only handle current Versions of the geodatabases. Very strange. Aug 5, 2011 at 6:50
  • I had the idea to take empty file (and personal) geodatabases of all the earlier versions and them to an assembly as an embedded resource and write a methods to handle writing them out to files. Just haven't had the time. But I would use something like that before I use that Geoprocessor (unless I already needed it for something else). Aug 5, 2011 at 10:39
  • Jay, I also dislike that Geoprocessor and the idea of an embedded resource is interesting. In another context I use XML Workspace Documents as embedded resources. Aug 17, 2011 at 20:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.