直连sde出错解决方案——通过创建sde文件连接

来源:互联网 发布:淘宝卖家免费打折软件 编辑:程序博客网 时间:2024/06/16 17:24

虽然Arcgis10.0以后版本中提供了直连sde数据库的入口,但是在实际操作中会遇到以下问题( 包括但不限于):

  1. 电脑环境32位,64位问题
  2. SDE数据库版本问题,桌面端arcmap软件10.0以上连接arcsde9.2或9.0,兼容问题
  3. 数据库实例书写规则
  4. 等其他
附上直连方式参数设置代码
IPropertySet propertySet = new PropertySetClass();propertySet.SetProperty("SERVER", server);propertySet.SetProperty("INSTANCE", instance);propertySet.SetProperty("USER", user);propertySet.SetProperty("PASSWORD", password);propertySet.SetProperty("VERSION", version);IWorkspaceFactory2 workspaceFactory = new SdeWorkspaceFactoryClass();IWorkspace workspace = workspaceFactory.Open(propertySet, 0);

直连无法成功,退而求其次,从侧面建立连接(创建.sde文件,然后通过设置参数建立连接)

String path = "...";String sdeName = "new.sde";String sdePath = path+"\\"+sdeName;File file = new File(sdePath);if(file.exists()){ file.delete();}
IPropertySet propertySet = new PropertySet();propertySet.SetProperty("SERVER", server);propertySet.SetProperty("INSTANCE", instance);propertySet.SetProperty("USER", user);propertySet.SetProperty("PASSWORD", password);
propertySet.SetProperty("DATABASE", "orcl");
propertySet.SetProperty("VERSION", "SDE.DEFAULT");


propertySet.SetProperty("AUTHENTICATION", "DBMS");
IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactoryClass();
workspaceFactory.create(path,sdeName,propertySet ,0);IWorkspace workspace = workspaceFactory.openFromFile(sdeFile,0);




propertySet.SetProperty("PASSWORD", password);

原创粉丝点击