HSQLDB 문서 원본 보기
←
HSQLDB
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
Java 기반의 DB인 HSQLDB를 정리 한다. *홈페이지 : http://hsqldb.org/, http://hsqldb.sourceforge.net/ :*SqlTool : http://hsqldb.org/doc/util-guide/sqltool-chapt.html#N10688 *다운로드 : http://sourceforge.net/project/showfiles.php?group_id=23316 *라이선스 : http://hsqldb.org/web/hsqlLicense.html *플랫폼 : Java <br> ==HSQLDB 환경 설정== [[Jetty]]에서 Java 기반의RDBMS인 HSQLDB를 사용하여 RDBMS 개발 환경을 구성해 보자. * 환경 변수 정의 :*$JETTY_HOME : [[Jetty]]가 설치된 폴더 :*$JETTY_WEB_ROOT : Web Application 배포된 Root 폴더, $JETTY_HOME/webapps/test/ :*http://localhost:8080/ : $JETTY_WEB_ROOT 에 브라우저로 접속하는 URL <br> *[http://hsqldb.org/ HSQLDB 사이트]에서 상단의 download 링크를 클릭 한다. *"Download Now!" 버튼을 클릭하여 hsqldb-2.0.0-rc9.zip 파일을 다운로드 한다. :*압축을 풀어 hsqldb.jar를 $JETTY_WEB_ROOT/WEB-INF/lib/ 폴더에 복사 한다. *HSQLDB 관리를 위해 $JETTY_HOME/startHsqldbManager.cmd 파일을 다음과 같이 생성 한다. :*startHsqldbManager.cmd 를 실행하면 관리자용 GUI가 실행된다. @echo off set JAVA_HOME=../java set PATH=../java/bin;%PATH% java -classpath webapps/test/WEB-INF/lib/hsqldb.jar org.hsqldb.util.DatabaseManager rem pause <br> *$WebContent/WEB-INF/web.xml <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/mysql</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> *$WebContent/WEB-INF/context.xml에서 php.ini 파일 등을 지정 한다. <Context> <Resource driverClassName="com.mysql.jdbc.Driver" maxActive="4" maxIdle="2" maxWait="5000" auth="Container" name="jdbc/mysql" password="" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/customer" username="root"/> </Context> ==사용자 가이드== ===Server 모드 설정=== Server 모드는 독립된 서버 프로세스로 실행하는 것으로 로컬 또는 원격지에서 HSQLDB에 접근할 수 있다. *HSQLDB 관리를 위한 GUI 도구 java -classpath hsqldb.jar org.hsqldb.util.DatabaseManager *HSQLDB 실행 java -classpath hsqldb.jar org.hsqldb.Server *HSQLDB 종료 :*DataManager에서 "shutdown" query를 실행 *HSQLDB 설정 파일 :*server.properties *HSQLDB에서 Database Server 실행 java -classpath hsqldb.jar org.hsqldb.Server -database.0 file:data/test -dbname.0 testUrl :*Default Port : 9001 :*-database.0 file:data/test : 데이터베이스가 사용할 경로와 파일명 형식(test.*)을 명시 ::*data라는 폴더에 test.* 파일이 생성됨 :*-dbname.0 testUrl : 데이터베이스의 alias를 지정. alias는 애플리케이션에서 jdbc를 통해 hsqldb에 접근할 때 사용 ::*url로 "jdbc:hsqldb:hsql://localhost/testUrl" 를 사용함 :*인덱스는 0에서 9까지 사용 가능 (예, -database.3) :*-port 9001 :*참고 문헌 : http://www.hsqldb.org/doc/src/org/hsqldb/server/Server.html *HSQLDB 접속 Class.forName("org.hsqldb.jdbc.JDBCDriver"); Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/testUrl", "SA", ""); *server.properties ### ============================================================================ ### 프로그램 명 : server.properties ver 0.00.001 ### 프로그램 설명 : HSQLDB Server를 위한 설정 ### 작성자 : 산사랑 (pnuskgh(골뱅이)gmail.com) ### 작성일 : 2013.12.12 ~ 2013.12.12 ### --- [History 관리] --------------------------------------------------------- ### 수정자 : ### 수정일 : ### 수정 내용 : ### --- [Copyright] ------------------------------------------------------------ ### Copyright (c) 1995~2013 pnuskgh, 오픈소스 비즈니스 컨설팅 ### All rights reserved. ### ============================================================================ ### ---------------------------------------------------------------------------- ### HSQLDB Server 기본 설정 ### server.port : Port, Default port는 9001 ### server.database.0 : 0번째 데이터베이스 이름 (0, 1, 2, ..., 9) ### server.dbname.0 : 0번째 데이터베이스에 접속하기 위해 사용하는 이름 ### conn = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/${server.dbname.0}", "SA", ""); ### server.silent : true. 콘솔에 다양한 메시지 출력 ### ---------------------------------------------------------------------------- server.port=9002 server.database.0=/nas/database/hadoop server.dbname.0=hadoop server.silent=true ### ============================================================================ ===In-process 모드 설정=== In-process 모드는 HSQLDB를 애플리케이션과 동일한 프로세스에서 HSQLDB를 실행하는 모드로 자체 DB를 필요로 하는 어플리케이션이나 캐시와 같은 임시 데이터를 처리하는 데 이용 한다.<br> In-process 모드는 메모리에 DB를 저장할 수 있고 또는 File 형태로 DB를 저장할 수 있다. *HSQLDB 관리를 위한 GUI 도구 java -classpath hsqldb.jar org.hsqldb.util.DatabaseManager *HSQLDB 설정 파일 :*server.properties *HSQLDB 접속 Class.forName("org.hsqldb.jdbc.JDBCDriver"); Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb", "SA", ""); Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:mymemdb", "SA", ""); ==관리자 가이드== ===관리용 SQL=== *테이블 목록 보기 select * from information_schema.system_tables where table_type = 'TABLE' select * from information_schema.tables where table_type != 'VIEW'; ===hsql.bash=== #!/usr/bin/env bash ### ---------------------------------------------------------------------------- ### funcUsing() ### 사용법 표시 ### hsql.bash help ### hsql.bash start #--- 모든 DB startup ### hsql.bash stop default #--- default DB shutdown ### hsql.bash console default #--- default DB에 접속 ### hsql.bash console default -e "select * from aaa" ### hsql.bash console default -f ~.sql ### TODO : status, version ### ---------------------------------------------------------------------------- #--- 코드 생략 case "$PROGRAM" in help) funcHelp ${JAVA_HOME}/bin/java -classpath ${HSQLDB_CLASSPATH} org.hsqldb.Server --help ;; start) cd ${HSQLDB_HOME}/logs nohup ${JAVA_HOME}/bin/java ${JAVA_OPTS} -classpath ${HSQLDB_CLASSPATH} \ org.hsqldb.Server --props ${HSQLDB_HOME}/conf/server.properties ${ARGS} & ;; status) ps -ef | grep org.hsqldb.Server | grep -v grep ;; stop) if [ "${ARGS}" == "" ]; then echo "Please run next commands" for line in `/bin/grep server.dbname ${HSQLDB_HOME}/conf/server.properties | /bin/grep -v "#"`; do line=`echo $line | sed -e 's/server.dbname.0=//g'` line=`echo $line | sed -e 's/server.dbname.1=//g'` line=`echo $line | sed -e 's/server.dbname.2=//g'` line=`echo $line | sed -e 's/server.dbname.3=//g'` line=`echo $line | sed -e 's/server.dbname.4=//g'` line=`echo $line | sed -e 's/server.dbname.5=//g'` line=`echo $line | sed -e 's/server.dbname.6=//g'` line=`echo $line | sed -e 's/server.dbname.7=//g'` line=`echo $line | sed -e 's/server.dbname.8=//g'` line=`echo $line | sed -e 's/server.dbname.9=//g'` line=`echo $line` echo " hsql.bash stop" $line done else ${EXEC} ${JAVA_HOME}/bin/java ${JAVA_OPTS} -classpath ${HSQLDB_CLASSPATH} \ -jar ${HSQLDB_HOME}/lib/sqltool.jar \ --rcFile=${HSQLDB_HOME}/conf/sqltool.rc --sql="shutdown;" ${ARGS} fi ;; console) if [ -n "${SQL_STR}" ]; then ${EXEC} ${JAVA_HOME}/bin/java ${JAVA_OPTS} -classpath ${HSQLDB_CLASSPATH} \ -jar ${HSQLDB_HOME}/lib/sqltool.jar \ --rcFile=${HSQLDB_HOME}/conf/sqltool.rc --sql="${SQL_STR}" ${ARGS} elif [ -n "${SQL_FILE}" ]; then ${EXEC} ${JAVA_HOME}/bin/java ${JAVA_OPTS} -classpath ${HSQLDB_CLASSPATH} \ -jar ${HSQLDB_HOME}/lib/sqltool.jar \ --rcFile=${HSQLDB_HOME}/conf/sqltool.rc ${ARGS} ${HSQLDB_HOME}/sql/${SQL_FILE} else ${EXEC} ${JAVA_HOME}/bin/java ${JAVA_OPTS} -classpath ${HSQLDB_CLASSPATH} \ -jar ${HSQLDB_HOME}/lib/sqltool.jar \ --rcFile=${HSQLDB_HOME}/conf/sqltool.rc ${ARGS} fi ;; version) /bin/grep 'HSQLDB server' ${HSQLDB_HOME}/logs/nohup.out | /bin/awk '{print $4, $5, $6, $10, $11}' | /usr/bin/tail -1 ;; esac exit 0 ===server.properties=== server.port=9003 server.silent=true server.database.0=file:/nas/appl/hsqldb/database/default server.dbname.0=default server.database.1=file:/nas/appl/hsqldb/database/hadoop server.dbname.1=hadoop ===sqltools.rc=== urlid default url jdbc:hsqldb:hsql://node201.hadoop.com:9003/default username SA password urlid hadoop url jdbc:hsqldb:hsql://node201.hadoop.com:9003/hadoop username SA password == 참고 문헌 == *[[H2|H2]] *[http://soriwa.tistory.com/81 이 클립스를 이용한 HSQLDB 간편 사용법, 2010.2] *[http://slog2.egloos.com/3534560 hsqldb 시작하기, 2010.1] *[http://hsqldb.org/web/hsqlDocsFrame.html HSQLDB User Guide] [[Category:오픈소스|Category:오픈소스]]<br/>[[Category:Database|Category:Database]]
HSQLDB
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보