Failed to open the database. closing it

12-02 13:23:14.980: E/SqliteDatabaseCpp(2126): sqlite3_open_v2("/data/data/com.br.teste.GestaoFV.Activity/databases/GestaoFV.db", &handle, 6, NULL) failed
12-02 13:23:14.980: E/SQLiteDatabase(2126): Failed to open the database. closing it.
12-02 13:23:14.980: E/SQLiteDatabase(2126): android.database.sqlite.SQLiteDatabaseLockedException: database is locked
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:983)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:956)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:932)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at com.br.ultra.GestaoFV.Cadastrar.Banco.Banco.cadastraBanco(Banco.java:102)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at com.br.ultra.GestaoFV.Activity.UltraGestaoFVActivity.verificaBanco(GestaoFVActivity.java:375)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at com.br.ultra.GestaoFV.Activity.UltraGestaoFVActivity.onCreate(GestaoFVActivity.java:109)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1715)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1767)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.app.ActivityThread.access$1500(ActivityThread.java:122)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1005)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.os.Handler.dispatchMessage(Handler.java:99)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.os.Looper.loop(Looper.java:132)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at android.app.ActivityThread.main(ActivityThread.java:4028)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at java.lang.reflect.Method.invokeNative(Native Method)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at java.lang.reflect.Method.invoke(Method.java:491)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
12-02 13:23:14.980: E/SQLiteDatabase(2126): at dalvik.system.NativeStart.main(Native Method)

Pessoal estou enfrentando esse erro, alguém ai pode me ajuda…

Fico no guardo…

Dando uma pesquisada descobri que esse erro se deve ao fato de que o SQLite trabalha por padrão num modo “thread-safe”, ou seja, se seu app está manipulando uma tabela e ocorre outra tentativa de acesso a tabelas, esse erro é lançado.

Entendo pouco de Android, mas vou mandar uns links que podem te ajudar:

https://groups.google.com/forum/#!topic/android-developers/INjL97-I9tk

:wink:

Vc sabe se tem como mata essa execução… pq estou com db.close();

Mas não esta funcionando

Qual é a linha 102 do Banco.java?

dbGestao = context.openOrCreateDatabase(NOME_BANCO, Context.MODE_PRIVATE, null);

Esse db já não está aberto?

já tentei coloca um

try{
db.close();
}

antes de abri a conexão, mas mesmo assim não funciona…

Está usando algum tutorial ou livro como base?
Você tem que saber se já abriu ou não, e, também se está aberto quando fechar.
Ou posta o código ou faz uma verificação da sua lógica.

O duro que já tentei faze tudo isso que vc falo, e até agora nao achei o pq… :-/

Posta o código.

Cara he muito grande o projeto…

Mas assim

ele ta inserindo n produtos e no meio da incercao eu cancelo a execucao… e quando tendo abri uma nova tela ele da esse prego… mas no onclick do cancel eu do um db.close();

Aí fica difícil.