`
Virgo_S
  • 浏览: 1153927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java连接sde的问题

阅读更多
 // Create the SdeWorkspaceFactory
try {
SdeWorkspaceFactory sdeFact = new SdeWorkspaceFactory();
// Create a PropertySet object that will contain all of the
// SDE connection parameters
PropertySet propSet = new PropertySet();

// Populate the property set with the connection parameters
propSet.setProperty("SERVER", "192.168.222.128");
propSet.setProperty("INSTANCE", "5151");
propSet.setProperty("DATABASE", "sde");
propSet.setProperty("USER", "sde");
propSet.setProperty("PASSWORD", "sde");
propSet.setProperty("VERSION", "sde.DEFAULT");

// Open the ArcSDE workspace using the connection PropertySet
Workspace ws = new Workspace(sdeFact.open(propSet, 0));

// Get the collection of dataset names in the database and display their names
IEnumDatasetName dsNames = ws.getDatasetNames(esriDatasetType.esriDTAny);

IDatasetName name = dsNames.next();
while (name != null) {
System.out.println(name.getName());
name = dsNames.next();
}
} catch (IOException e) {
e.printStackTrace();
}

总是报错误
 
Could not load native libraries. ArcGIS/bin should be added to the system PATH environment variable.
java.lang.UnsatisfiedLinkError: no ntvauth in java.library.path
java.lang.UnsatisfiedLinkError: no ntvauth in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:993)
at com.esri.arcgis.interop.NativeLoader.loadLibrary(Unknown Source)
at com.esri.arcgis.interop.NativeAuth.c(Unknown Source)
at com.esri.arcgis.interop.c.a(Unknown Source)
at com.esri.arcgis.interop.bc.a(Unknown Source)
at com.esri.arcgis.interop.jb.a(Unknown Source)
at com.esri.arcgis.interop.Dispatch.createDispatch(Unknown Source)
at com.esri.arcgis.interop.Dispatch.<init>(Unknown Source)
at com.esri.arcgis.geodatabase.IWorkspaceFactoryProxy.<init>(Unknown Source)
at com.esri.arcgis.datasourcesGDB.SdeWorkspaceFactory.<init>(Unknown Source)
at com.esri.arcgis.datasourcesGDB.SdeWorkspaceFactory.<init>(Unknown Source)
at com.dist.FlexGIS.Operation.main(Operation.java:24)

查找了很多资料,有人说需要把ntvauth.dll加到path环境变量中,但是我没有找到ntvauth.dll,请高手赐教ntvauth.dll 在什么位置,需要装什么软件吗,我已经安装了server(java),engine(java,。net)和sde了。

解决方案:
把Server初始化一下就可以了
提供一个参考代码
ServerInitializer serverInitializer = new ServerInitializer();
serverInitializer.initializeServer("workgroup", "arcgismanager", "1");
ServerConnection connection = new ServerConnection();
connection.connect("192.168.222.128");
IServerObjectManager som = connection.getServerObjectManager();
IServerContext context = som.createServerContext("HY","MapServer");
// Create a PropertySet object that will contain all of the
// SDE connection parameters
IPropertySet propSet = (PropertySet)context.createObject(PropertySet.getClsid());//new PropertySet();
// IPropertySet propSet = new PropertySet();
// Populate the property set with the connection parameters
propSet.setProperty("SERVER", "192.168.222.128");
propSet.setProperty("INSTANCE", "5151");
propSet.setProperty("DATABASE", "sde");
propSet.setProperty("USER", "sde");
propSet.setProperty("PASSWORD", "sde");
propSet.setProperty("VERSION", "sde.DEFAULT");
IWorkspaceFactory sdeFact = (IWorkspaceFactory)context.createObject(SdeWorkspaceFactory.getClsid());//new SdeWorkspaceFactory();
//IWorkspaceFactory sdeFact = new SdeWorkspaceFactory();
// Open the ArcSDE workspace using the connection PropertySet
IWorkspace ws = sdeFact.open(propSet, 0);
//Workspace ws = new Workspace(sdeFact.open(propSet, 0));
IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)ws;
IWorkspaceEdit eWorkspace = (IWorkspaceEdit)ws;
IFeatureDataset featureDataset = featureWorkspace.openFeatureDataset("ZT_HY");   
IWorkspace workspace = featureDataset.getWorkspace();
IFeatureWorkspace fWorkspace = new IFeatureWorkspaceProxy(workspace);          


分享到:
评论

相关推荐

    arcgis_SDE_for_Java样例.pdf

    arcgis_SDE_for_Java样例

    Arcgis10.3创建SDE数据库、导入、导出手册

    在ArcGIS中,通过“数据库连接”功能,输入之前设定的数据库平台、实例、管理员信息,以及SDE和地理数据库管理员的凭证,建立与SDE数据库的连接。 三、创建特征类(建立空间表) 在ArcMap中,通过右键新建Feature ...

    ArcGISEngine10.1访问ArcSDE

    描述arcgis 连接sde的不同方式。直连式、服务式、连接文件式、连接字符串式

    sde 帮助文档 dev_help

    总结起来,SDE的C和Java API是开发人员进行空间数据管理的关键工具,它们提供了丰富的功能,涵盖了数据库连接、对象操作、版本管理、查询过滤等多个层面。通过深入理解和熟练运用这些API,开发者能够构建出高效、...

    JAVA调用GDAL库需要的dll文件

    - 如果遇到64位与32位不匹配的问题,确保Java和GDAL库的位数一致。 - 注意GDAL的线程安全问题,根据需求选择多线程或单线程版本的库。 总结,Java调用GDAL库涉及到JNI技术,需要理解C++接口和Java之间的交互,...

    ArcSdeSDK(C API+JAVA API)

    1. 数据存取:C API提供了连接、打开、关闭数据库以及获取和修改记录的函数,如`sde_connect`、`sde_open_table`等。 2. 编辑操作:通过`start_edit_session`、`apply_edits`等函数实现对地理对象的添加、删除和修改...

    ArcSde for java 的jar包

    它提供了对SDE连接管理、数据存取、事务处理、几何对象操作等功能的支持。 2. **jsde_sdk.jar**:JavaScript for SDE (JSDE) SDK的Java版本,主要用于在Web应用程序中与ArcSDE进行交互。这个库提供了与jpe_sdk.jar...

    sdeimShp.java

    本代码主要是,实现了arcgis for java 存后台使用连接sde库,导入shp文件,包含使用arcObject.jar包实现的数据导入功能

    arcgisengine, sde ,server,license

    - **ArcSDE.ecp**:此文件可能涉及到ArcSDE的配置,可能包含了连接信息、数据库设置、版本管理等参数,用于设置和管理SDE数据库连接。 综上所述,ArcGIS Engine、ArcSDE、ArcGIS Server和许可证管理是GIS开发和部署...

    基于ArcSDE C API的ArcSDE客户端实现方法.zip

    2. 创建连接:使用sde_connect()函数建立与ArcSDE服务器的连接,需要提供服务器名称、实例名、用户认证信息等参数。 3. 数据库操作:连接建立后,可以进行数据库操作,例如创建表、插入、更新和删除数据。ArcSDE C ...

    ArcSDE SDK Java 快速实践.pdf

    总结来说,ArcSDE SDK Java 提供了一整套工具和方法来实现GIS应用的开发,包括几何对象的创建与操作、数据库连接管理、表和图层的定义与管理、数据操作、图层锁的使用以及版本管理等功能。通过这些API的支持,开发者...

    SQL空间查询ST_Geometry配置

    - `tnsnames.ora`文件中也需要相应地设置连接数据。 - **Unix/Linux环境下**: - 类似地,在`listener.ora`文件中指定环境变量,但路径指向的是`.so`或`.sl`格式的库文件。 - `tnsnames.ora`同样需要配置连接...

    refreshconn.zip_Java_

    3. **SDE连接管理**:了解如何在Java中创建和管理SDE连接,包括连接字符串的构造、连接池的使用以及如何处理连接的生命周期。 4. **数据库连接与SQL**:由于SDE通常与关系数据库(如Oracle、SQL Server)结合使用,...

    ArcSDE JAR包

    例如,`arcgisserver.jar`通常包含了ArcGIS Server的核心功能,`sde.jar`则是与ArcSDE数据库连接的关键组件,而其他如`geotools.jar`等可能是为了兼容Geoserver的GeoTools库。 将这些JAR包添加到Geoserver的类路径...

    arcgis server 常见问题

    **验证连接问题**:如果在尝试连接到ArcGIS Manager或其他服务时出现“Unable to connect to Manager Service”等错误,需要检查并编辑`Server.dat`文件,位于`$ArcGIS_install_path/server/system/`目录下,确保...

    Creador-de-examenes-java-swing-y-MySQL.:Proyecto basado en java Swing Hecho en el segundoañode carrera,funónónprincipaldel programa es la de,trafésde una interfaz grafica,crear y realizar测试por个性化por的“ Profesor” traabajando atravésde bases de datos

    在数据库方面,他们可能学习了SQL语言,包括SELECT、INSERT、UPDATE和DELETE语句,以及如何使用Java的JDBC(Java Database Connectivity)接口连接和操作MySQL数据库。 总的来说,"Creador-de-examenes-java-swing-...

    SDE-Problems

    标题中的"SDE-Problems"可能指的是Software Development Engineer(软件开发工程师)面试中常见的问题集,通常涵盖编程、数据结构、算法、系统设计等多方面。这个压缩包文件名"SDE-Problems-master"暗示这可能是一个...

    ArcSDE 直连 总结

    为了解决这个问题,需要确保实例名称的格式符合Oracle的连接要求。 #### Cannot connect to database because the database client software failed to load 如果客户端已经正确安装了Oracle Client软件,但仍然...

    geoserver-2.16.4-arcsde-plugin.zip

    jsqlparser-0.3.14.jar是一个Java SQL解析库,用于解析和处理SQL查询,这对于与ArcSDE数据库交互至关重要。commons-pool-1.5.4.jar是Apache Commons的一个子项目,提供对象池服务,优化资源的分配和使用。gt-arcsde...

    ArcSDE 完全手册

    9. **故障诊断与恢复**:当遇到问题时,如何快速定位并解决问题是关键。手册会讲解常见错误的解决方法,以及如何进行数据恢复。 10. **案例研究**:通过实际案例,让读者更好地理解ArcSDE在不同应用场景下的解决...

Global site tag (gtag.js) - Google Analytics