ArcEngine中打开各种数据源(WorkSpace)的连接

1.创建workspacefactory

 //方式1
 Type factoryShpType = Type.GetTypeFromProgID("esriDataSourcesFile.ShapefileWorkspaceFactory");//Shp
 Type factoryGdbType = Type.GetTypeFromProgID("esriDataSourcesGDB.FileGDBWorkspaceFactory");//Gdb
 Type factorySdeType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");//Sde
 Type factoryMdbType = Type.GetTypeFromProgID("esriDataSourcesGDB.AccessWorkspaceFactory");//Mdb
 Type factorySqliteType = Type.GetTypeFromProgID("esriDataSourcesGDB.SqlWorkspaceFactory");//Sqlite
 Type factoryCadType = Type.GetTypeFromProgID("esriDataSourcesFile.CadWorkspaceFactory");//Cad
 IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance(factory***Type);
 
 ------------------------------------------------------------------------------
 //方式2
 IWorkspaceFactory wksGdbFactory = new FileGDBWorkspaceFactoryClass();
 IWorkspaceFactory wksSdeFactory = new SdeWorkspaceFactoryClass();
 IWorkspaceFactory wksMdbFactory = new AccessWorkspaceFactoryClass();
 IWorkspaceFactory2 wksRasterFactory = new RasterWorkspaceFactoryClass();

2.调用workspacefactory的方法打开数据源

 //MDB,GDB,SDE文件路径
 string strDbPath = "文件路径";
 IWorkspace wks = wksFactory.OpenFromFile(strDbPath, 0);
 
 //SDE也可通过连接信息打开
 IPropertySet propSet=new PropertySetClass();
 propSet.SetProperty("server","服务器机器名" );
 propSet.SetProperty("instance","SDE运行的端口号");
 propSet.SetProperty("user","用户名");
 propSet.SetProperty("password","口令" );
 propSet.SetProperty("password","口令" );
 IWorkspace wks = wksFactory.Open(propSet, 0);
 //MDB,GDB,SDE文件路径
 string strDbPath = "文件路径";
 IWorkspace wks = wksFactory.OpenFromFile(strDbPath, 0);
 
 //SDE也可通过连接信息打开
 IPropertySet propSet=new PropertySetClass();
 propSet.SetProperty("server","服务器机器名" );
 propSet.SetProperty("instance","SDE运行的端口号");
 propSet.SetProperty("user","用户名");
 propSet.SetProperty("password","口令" );
 propSet.SetProperty("password","口令" );
 IWorkspace wks = wksFactory.Open(propSet, 0);

 

posted @ 2021-07-29 15:09  恋上微笑的天使  阅读(347)  评论(0)    收藏  举报