Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-无法打开[SQL]数据库错误_Android_Database_Sqlite - Fatal编程技术网

Android-无法打开[SQL]数据库错误

Android-无法打开[SQL]数据库错误,android,database,sqlite,Android,Database,Sqlite,我目前正在为Android SDK制作一个应用程序,该应用程序将允许我打开/复制已经在应用程序之外制作的数据库。我很难让我的程序读取数据库中的表。根据我之前发布的一些建议,我编写了一个类,该类将直接调用SQLiteDatabase,并使用Android SDK附带的sqlite3版本创建我的数据库。现在,由于某种原因,我的程序甚至无法打开数据库。它似乎意识到它就在那个里,但Logcat(我正在使用EclipseJuno和ADT插件)一直告诉我它“无法打开数据库”。有人知道问题出在哪里吗 以下是我

我目前正在为Android SDK制作一个应用程序,该应用程序将允许我打开/复制已经在应用程序之外制作的数据库。我很难让我的程序读取数据库中的表。根据我之前发布的一些建议,我编写了一个类,该类将直接调用SQLiteDatabase,并使用Android SDK附带的sqlite3版本创建我的数据库。现在,由于某种原因,我的程序甚至无法打开数据库。它似乎意识到它就在那个里,但Logcat(我正在使用EclipseJuno和ADT插件)一直告诉我它“无法打开数据库”。有人知道问题出在哪里吗

以下是我所有的代码(为了更全面):

这也是我的日志:

07-16 15:27:08.364: E/Trace(810): error opening trace file: No such file or directory (2)
07-16 15:27:08.504: E/SQLiteLog(810): (14) cannot open file at line 30174 of [00bb9c9ce4]
07-16 15:27:08.504: E/SQLiteLog(810): (14) os_unix.c:30174: (2) open(/scratch/android-sdk-linux/tools/os.sqlite) - 
07-16 15:27:08.524: E/SQLiteDatabase(810): Failed to open database '/scratch/android-sdk-linux/tools/os.sqlite'.
07-16 15:27:08.524: E/SQLiteDatabase(810): android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.example.sql2.MyDatabase.<init>(MyDatabase.java:26)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.example.sql2.SQLTest.onCreate(SQLTest.java:20)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.Activity.performCreate(Activity.java:5008)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.os.Looper.loop(Looper.java:137)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.main(ActivityThread.java:4745)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at java.lang.reflect.Method.invokeNative(Native Method)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at java.lang.reflect.Method.invoke(Method.java:511)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at dalvik.system.NativeStart.main(Native Method)
07-16 15:27:08.524: D/AndroidRuntime(810): Shutting down VM
07-16 15:27:08.524: W/dalvikvm(810): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
07-16 15:27:08.534: E/AndroidRuntime(810): FATAL EXCEPTION: main
07-16 15:27:08.534: E/AndroidRuntime(810): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sql2/com.example.sql2.SQLTest}: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
07-16 15:27:08.534: E/AndroidRuntime(810):  at   android.app.ActivityThread.access$600(ActivityThread.java:130)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.os.Looper.loop(Looper.java:137)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.main(ActivityThread.java:4745)
07-16 15:27:08.534: E/AndroidRuntime(810):  at java.lang.reflect.Method.invokeNative(Native Method)
07-16 15:27:08.534: E/AndroidRuntime(810):  at java.lang.reflect.Method.invoke(Method.java:511)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-16 15:27:08.534: E/AndroidRuntime(810):  at dalvik.system.NativeStart.main(Native Method)
07-16 15:27:08.534: E/AndroidRuntime(810): Caused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
07-16 15:27:08.534: E/AndroidRuntime(810):  at  android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.example.sql2.MyDatabase.<init>(MyDatabase.java:26)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.example.sql2.SQLTest.onCreate(SQLTest.java:20)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.Activity.performCreate(Activity.java:5008)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
07-16 15:27:08.534: E/AndroidRuntime(810):  ... 11 more
07-16 15:27:08.364:E/Trace(810):打开跟踪文件时出错:没有这样的文件或目录(2)
07-16 15:27:08.504:E/SQLiteLog(810):(14)无法打开[00bb9c9ce4]第30174行的文件
07-16 15:27:08.504:E/SQLiteLog(810):(14)os_unix.c:30174:(2)打开(/scratch/android sdk linux/tools/os.sqlite)-
07-16 15:27:08.524:E/SQLiteDatabase(810):无法打开数据库“/scratch/android sdk linux/tools/os.sqlite”。
07-16 15:27:08.524:E/SQLiteDatabase(810):android.database.sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteConnection.nativeOpen(本机方法)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于com.example.sql2.MyDatabase.(MyDatabase.java:26)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于com.example.sql2.SQLTest.onCreate(SQLTest.java:20)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.app.Activity.performCreate(Activity.java:5008)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.app.ActivityThread.access$600(ActivityThread.java:130)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.os.Handler.dispatchMessage(Handler.java:99)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.os.Looper.loop(Looper.java:137)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于android.app.ActivityThread.main(ActivityThread.java:4745)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于java.lang.reflect.Method.invokenactive(本机方法)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于java.lang.reflect.Method.invoke(Method.java:511)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-16 15:27:08.524:E/SQLiteDatabase(810):位于dalvik.system.NativeStart.main(本机方法)
07-16 15:27:08.524:D/AndroidRuntime(810):关闭虚拟机
07-16 15:27:08.524:W/dalvikvm(810):threadid=1:线程以未捕获异常退出(组=0x40a13300)
07-16 15:27:08.534:E/AndroidRuntime(810):致命异常:主
07-16 15:27:08.534:E/AndroidRuntime(810):java.lang.RuntimeException:无法启动活动组件信息{com.example.sql2/com.example.sql2.SQLTest}:android.database.sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库
07-16 15:27:08.534:E/AndroidRuntime(810):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
07-16 15:27:08.534:E/AndroidRuntime(810):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
07-16 15:27:08.534:E/AndroidRuntime(810):在android.app.ActivityThread.access$600(ActivityThread.java:130)
07-16 15:27:08.534:E/AndroidRuntime(810):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
07-16 15:27:08.534:E/AndroidRuntime(810):在android.os.Handler.dispatchMessage(Handler.java:99)上
07-16 15:27:08.534:E/AndroidRuntime(810):在android.os.Looper.loop(Looper.java:137)
07-16 15:27:08.534:E/AndroidRuntime(810):在android.app.ActivityThread.main(ActivityThread.java:4745)上
07-16 15:27:08.534:E/AndroidRuntime(810):位于java.lang.reflect.Method.Invokenactive(本机方法)
07-16 15:27:08.534:E/AndroidRuntime(810):位于java.lang.reflect.Method.invoke(Method.java:511)
07-16 15:27:08.534:E/AndroidRuntime(810):在com.android.internal.os.ZygoteInit$MethodA
07-16 15:27:08.364: E/Trace(810): error opening trace file: No such file or directory (2)
07-16 15:27:08.504: E/SQLiteLog(810): (14) cannot open file at line 30174 of [00bb9c9ce4]
07-16 15:27:08.504: E/SQLiteLog(810): (14) os_unix.c:30174: (2) open(/scratch/android-sdk-linux/tools/os.sqlite) - 
07-16 15:27:08.524: E/SQLiteDatabase(810): Failed to open database '/scratch/android-sdk-linux/tools/os.sqlite'.
07-16 15:27:08.524: E/SQLiteDatabase(810): android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.example.sql2.MyDatabase.<init>(MyDatabase.java:26)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.example.sql2.SQLTest.onCreate(SQLTest.java:20)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.Activity.performCreate(Activity.java:5008)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.os.Looper.loop(Looper.java:137)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at android.app.ActivityThread.main(ActivityThread.java:4745)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at java.lang.reflect.Method.invokeNative(Native Method)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at java.lang.reflect.Method.invoke(Method.java:511)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-16 15:27:08.524: E/SQLiteDatabase(810):  at dalvik.system.NativeStart.main(Native Method)
07-16 15:27:08.524: D/AndroidRuntime(810): Shutting down VM
07-16 15:27:08.524: W/dalvikvm(810): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
07-16 15:27:08.534: E/AndroidRuntime(810): FATAL EXCEPTION: main
07-16 15:27:08.534: E/AndroidRuntime(810): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sql2/com.example.sql2.SQLTest}: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
07-16 15:27:08.534: E/AndroidRuntime(810):  at   android.app.ActivityThread.access$600(ActivityThread.java:130)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.os.Looper.loop(Looper.java:137)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.main(ActivityThread.java:4745)
07-16 15:27:08.534: E/AndroidRuntime(810):  at java.lang.reflect.Method.invokeNative(Native Method)
07-16 15:27:08.534: E/AndroidRuntime(810):  at java.lang.reflect.Method.invoke(Method.java:511)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-16 15:27:08.534: E/AndroidRuntime(810):  at dalvik.system.NativeStart.main(Native Method)
07-16 15:27:08.534: E/AndroidRuntime(810): Caused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
07-16 15:27:08.534: E/AndroidRuntime(810):  at  android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.example.sql2.MyDatabase.<init>(MyDatabase.java:26)
07-16 15:27:08.534: E/AndroidRuntime(810):  at com.example.sql2.SQLTest.onCreate(SQLTest.java:20)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.Activity.performCreate(Activity.java:5008)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
07-16 15:27:08.534: E/AndroidRuntime(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
07-16 15:27:08.534: E/AndroidRuntime(810):  ... 11 more
File file = new File("/scratch/android-sdk-linux/tools/os.sqlite");
database = SQLiteDatabase.openOrCreateDatabase(file, null);
File file = new File(Environment.getExternalStorageDirectory() + "/scratch/os.sqlite");
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />