2011-08-26 8 views
1

자바를 처음 사용했습니다. 데이터베이스에서 SDO_GEOMETRY를 검색하고 jdbc.jf를 사용하여 문자열로 변환해야합니다. 샘플 또는 아이디어가 있다면 나와 공유하십시오.JDBC를 사용하여 데이터베이스에서 SDO_GEOMETRY를 검색하는 방법은 무엇입니까?

도움을 받으실 수 있습니다.

안녕하십니까,
Sanjay.

+0

SDO_GEOMETRY는 오브젝트 유형입니다. "데이터베이스에서 SDO_GEOMETRY를 검색하여 문자열로 변환해야합니까?"라는 것은 무엇을 의미합니까? –

+0

응용 프로그램 계층에서 데이터의 거리 계산 (예 : 거리, 면적)을 수행하지 않는 한 SDO_GEOMETRY를 데이터베이스의 문자열로 변환하지 않는 이유는 무엇입니까? 모양이 [2D/3D?] 크고 복잡하며 어떤 종류의 문자열을 찾고 계십니까? –

답변

3

JGeometry 클래스를 살펴보십시오. 다음과 같은 공간 유형을 호출하는 예제가 있습니다.

 /// reading a geometry from database 
    ResultSet rs = statement.executeQuery("SELECT geometry FROM states where name='Florida'"); 
    STRUCT st = (oracle.sql.STRUCT) rs.getObject(1); 
    //convert STRUCT into geometry 
    JGeometry j_geom = JGeometry.load(st); 

    // ... manipulate the geometry or create a new JGeometry ... 

    /// writing a geometry back to database 
    PreparedStatement ps = connection.prepareStatement("UPDATE states set geometry=? where name='Florida'"); 
    //convert JGeometry instance to DB STRUCT 
    STRUCT obj = JGeometry.store(j_geom, connection); 
    ps.setObject(1, obj); 
    ps.execute(); 
+0

빠른 답장을 보내 주셔서 감사합니다.하지만 위의 코드를 시도해 보니 작동하지 않는 것 같습니다. 내가 잘못 생각한 것 같습니다 .SDO_GEOMETRY 값을 가져와 맵에 표시해야합니다. 샘플이 있으면 나와 공유하십시오. – sanjay

+0

완벽하게 작동하는 예제를 제공 할 수는 없지만 위의 예에서 문제가 무엇인지 쓸 수 있다면 도움이 될 것입니다. – Kris

관련 문제