# ArcSDE http://help.arcgis.com/en/geodatabase/10.0/sdk/arcsde/api/japi/japi.htm - [[ArcSDE 8.3]] - [[arcsde 8.3 developer help]] # ArcSDE API ^ 목적 ^ class ^ method | | | SDE 접근 | com.esri.sde.sdk.client.SeConnection | SeConnection(String Server, String instance, String database, String username, String password) | | | FeatureClass 획득 | com.esri.sde.sdk.client.SeLayer | SeLayer(SeConnection conn, String table, String spatCol) | | | SpatialReference 획득 | | getCoordRef():SeCoordinateReference | | | Table | com.esri.sde.sdk.client.SeTable | SeTable(SeConnection conn, String databaseName, String ownerName, String tableName) | | | Query | com.esri.sde.sdk.client.SeSqlConstruct | SeSqlConstruct(String table, String where) | | | ::: | com.esri.sde.sdk.client.SeQuery | SeQuery(SeConnection conn, String[] columns, SeSqlConstruct construct) | | | ::: | ::: | prepareQuery() | | | ::: | ::: | execute() | | | 결과 loop | | | | | 데이터 획득 | com.esri.sde.sdk.client.SeRow | getString(int columnPos):String | | | ::: | | getColumns():SeColumnDefinition[] | | | ::: | com.esri.sde.sdk.client.SeColumnDefinition | getName():String, getType():int | | | 공간정보 | | getShape(int columnPos):SeShape | | | 좌표변환 | | changeCoordRef(SeCoordinateReference coordref, PeGeogTransformations geogtran):SeShape | | | ::: | | asText():String, getAllPoints(int rotation, boolean wantSubpartOffsets) | | | 데이터추가 | com.esri.sde.sdk.client.SeInsert | SeInsert(SeConnection conn) | | | ::: | | setWriteMode(boolean buffered) | | | ::: | | intoTable(String table, String[] columns) | | | ::: | | getRowToSet():SeRow | | | ::: | com.esri.sde.sdk.client.SeShape | generateFromText(String textShape) | | | ::: | com.esri.sde.sdk.client.SeRow | setShape(int columnPos, SeShape shpVal) | | | ::: | com.esri.sde.sdk.client.SeInsert | execute() | | | ::: | | flushBufferedWrites() | | | ::: | | close() | | | 데이터 삭제 | com.esri.sde.sdk.client.SeDelete | SeDelete(SeConnection conn) | | | ::: | | fromTable(String table, String whereClause) | | | ::: | | close() | | ## COMMAND ### sdemon 상태 확인 확인. 포트 정보는 -i 옵션으로 넣는다. sdemon -o status SDE Connection 종료 sdemon -o kill -t [pid] -i [port] -p [password] ## 프로세스 ### giomgr 프로세스 각각의 ArcSDE 서비스들은 한 개의 giomgr 프로세스를 갖는다. 이 프로세스는 Application 연결로 들어오는 request를 처리하는 역할을 한다. 하나의 giomgr 프로세스는 여러 개의 gsrvr 프로세스를 생성 할 수 있으며, 사용자의 요청에 따라 gsrvr로 연결해주는 중개자 역할을 한다. 예를 들어 A 사용자는 ArcView 를 통해 접속하고, B 사용자는 ArcIMS를 통해 connect할 경우, giomgr 프로세스는 두 요청을 각각의 전용 gsrvr 프로세스로 할당시켜 준다. ### gsrvr 프로세스 모든 클라이언트의 Read/Write request 를 서비스 한다. 클라이언트가 연결을 종료하면, 그 때 프로세스가 종결 된다. ## Connection 방법에 따른 차이 ### Application Server Connection Application Server 방식은 클라이언트단의 GIS 소프트웨어와, 서버단의 ArcSDE gsrvr 프로세스, 같은 서버 컴퓨터에 있는 Oracle Server 프로세스로 구성된다. 이 구성은 ArcSDE 라이브러리는 클라이언트와 서버간의 통신을 제공하며, Application Server Connection을 구조화 하기 위해 ArcSDE 인스턴스는 실행 상태(Running) 이어야 한다. ### Direct Connection ArcSDE 8.1.0 for Oracle8i 부터 소개 되었던 기존의 연결 방식이다.