2011-05-04 10 views
3

google-app-engine에서 작동하는 light web-app에서 HSQLDB를 사용하고 싶습니다.Google-App-Engine에서 HSQLDB 사용하기

HSQLDB를 시작하는 동안 "jdbc : hsqldb : file : ./ database /"와 같은 URL을 사용하고 있습니다.

로컬 톰캣에서는 모든 것이 잘되지만 Google Apps Engine에서는 예외가 발생합니다.

Constructor threw exception; nested exception is com.hp.hpl.jena.sdb.SDBException: SQL Exception while connecting to database: jdbc:hsqldb:file:./database/appname : File input/output error ./database/appname.properties java.security.AccessControlException: access denied (java.io.FilePermission ./database write) 

사람이 구글-앱 엔진에 HSQL DB를 실행에 적절한 URL을 정의하는 단서를 제공 할 수 있습니까?

+2

App Engine 애플리케이션은 파일 시스템에 쓸 수 없습니다. 데이터 스토어를 사용하여 데이터를 저장하십시오. – geoffspear

답변

2

GAE를 사용하면이 수준의 파일을 쓸 수 있다고 생각하지 않습니다.

파일을 필요로하지 않지만 다시 시작할 때 지워지는 HSQLDB 메모리 데이터베이스를 사용할 수 있습니다.

왜 JDO를 사용하지 않습니까?

+0

응용 프로그램에서 RDF 문서를 저장하고 쿼리하는 작업이 필요합니다. 이를 실현하기 위해 애플리케이션 아키텍처는 Jena SDB를 기반으로합니다. 이후, 나는 전통적인 데이터베이스가 필요합니다. –

+0

이제 Google은 MySQL을 서비스로 생각합니다. 그러나 당신은 그것을 지불해야합니다. – Mikhas

2

GAE에서는 파일에 쓸 수 없습니다. 이는 분명히 HSQLDB가 GAE에서 작동하지 않음을 의미합니다. Mikhas는 HSQLDB IN 메모리를 사용할 것을 제안 했으므로 어느 곳에서도 유지되지 않습니다. GAE를 사용하는 경우 JDO 또는 JPA를 사용하는 것 외에 다른 옵션이 없습니다. Appengine이 최적화 된 대상. 그러나 앞으로는 앱 엔진 내에서 관계형 데이터베이스를 사용하는 것에 대한 지원을받을 수 있습니다. 그러나 현재로서는 대답은 아니오입니다.

+0

네이티브 Datastore API와 objectify 또는 twig 같은 다른 ORM 도구를 사용할 수도 있습니다. –

1

(오픈 소스 Java) H2 database이 작동 할 수도 있습니다. 프로젝트 H2GAE (실험적이 아니어야 함)을 참조하십시오. 그러나 나는 이것을 스스로 시험하지 않았다.

관련 문제