안드로이드에서 데이터베이스를 열지 못할때. [안드로이드,데이타베이스,DB,database,android]

이미지출처 : news.cnet.com

안드로이드에서 데이터베이스를 열지 못할때.








안드로이드를 사용해서 뭔가 만들어보려고 뚝딱거리다가,



어느순간 m5버젼이 나왔다.



m3버젼을 쓰고 있었는데, m5버젼이 나왔다.



돌아가는 모습을 좀 보려고 튜토리얼을 실행시켰는데.. 이런!



데이터베이스를 열지 못한다. nullPointerException이 나온다.



프로그램을 처음 접했을 때부터 무던히도 날 괴롭히던 녀석이..



여기서도 어김없이 등장했다.



디버깅 모드를 써서 추적을 해봐도..



추적이 쉽지않다.



결국 추적을 위해 비슷한 어플리케이션을 만들어서..



아직 api 소스가 나오지도 않았기에 역컴파일까지 해서 추적을 했더니…



db를 쓰지도 못하고 읽지도 못하는것 아닌가!



그래서 db에 null값이 들어있기 때문에 이런 현상이 발생하는 것이었다.



이런! 이 문제를 어떻게 해결할 것인가..



이건 코드 레벨에서 어찌 할 수 있는 문제가 아니었다.



방법은..



기존에 있던 유저파일을 리셋하는것이다.



에뮬레이터 실행할때.



-wipe-data 옵션을 줘서 유저데이터를 지울 수 있고,



혹은 아래의 경로에서 직접 삭제 할 수 있다.


Code:





Linux: ~/.android/userdata.img

Windows: C:\Documents and Settings\<loginname>\Application

Data\Local\Android\userdata.img


Upgrading the SDK 문서가 좀 더 일찍 나왔더라면 이런 수고는 하지 않았을텐데 아쉽다.



Reference




by


Tags : , , , , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.

DB복구. MSSQL 2005 DB복구법 (MSSQL DB 2005 restore method)[DB복구,MSSQL,2005,복구방법,DB되살리기,데이타베이스,database]

이미지출처 : mehmet-ozdemir.com.tr

수백기가의 데이터베이스가! 갑자기 번개를 한번 맞더니 몽땅 날아가버렸다면..

정말 토나오는 일이다.-_-;



하지만 복구 할 수 있는 길은 열려있었으니..



1. 로그와 데이터 모두 살아있을 때 복구법 : sp_attach_db ‘DB명’, ‘경로\파일명.mdf’ , ‘경로\파일명_log.ldf’

2. 데이터 파일만 살아있을 때 복구법 : sp_attach_single_file_db ‘DB명’, ‘경로\파일명.mdf’

3. 데이터 파일만 남기고 삭제하고 싶을때 : sp_detach_db



이 방법들은 정상적으로 종료가 되었을때만 사용 가능하다.



번개를 맞아서 컴퓨터가 다운되었다면, 이 방법은 안통한다.



그런일이 있다면 다행히 ldf파일만 손상을 입고 mdf파일은 손상을 입지 않았다면 복구 할 수 있는 방법이 있다.



- 원래 DB와 동일 이름의 DB를 생성한다. (mdf 파일명과 크기도 같게..)

- 생성한 DB를 긴급 모드로 변경한다. : alter database dbname set emergency

- SQL 서버를 멈춘다.

- 생성한 DB의 mdf,ldf파일을 삭제하고 복구할 mdf파일들을 복사해온다.(로그파일 제외)

- SQL 서버를 재시동한다.

- 오브젝트와 데이터들이 관리자에게 접근가능하지만, 여전히 백업도 안되고 온라인상태가 되지도 않는다.

- 스크립트 생성 마법사로 모든데이터 오브젝트를 스크립트로 만든다.(스크림팅 오브젝트 권한,의존 오브젝트들,인덱스들 포함;파일로 내보낸다.)

- 새로운 두번째 DB를 생성한다.

- 새로운 DB에서 모든 오브젝트가 생성되 때까지 여러번 스크립트를 실행한다.

- 데이터 불러오기 마법사로 모든 살아있는 테이블을 새로운 DB에 넣는다.

- 새로운 DB를 백업하고 긴급모드에 들어가있는 DB에 복원한다.



끝!



----

Open english content




by


Tags : , , , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.