我开发了一个应用程序,在Windows 7及以下版本中运行良好。它使用VB和C#编写的SQLlite数据库。然而,在Windows 8上(在其他Windows操作系统上从未遇到过这个问题),尝试向数据库写入时会出现问题。
System.Data.SQLite.SQLiteException: Attempt to write a read-only database
我在Windows 8电脑上创建了一个数据库文件,如下:
Try
If (Not File.Exists(System.Environment.CurrentDirectory & "\MY_DB.db")) Then
Dim conn = New SQLite.SQLiteConnection("Version=3;New=True;Compress=False;Read Only=False;Data Source=" & System.Environment.CurrentDirectory & "\MY_DB.db")
conn.Open()
'...DO STUFF
conn.Close()
conn.Dispose()
conn = Nothing
End If
Catch ex As Exception
'Throw ex
Return False
End Try
但是没有起作用。
所以我尝试了以下方法:
- 创建db文件时添加
Read Only=False
,但没有起作用。 - 数据库所在的文件夹必须具有写入权限,实际的数据库文件也是如此。我已经做过了,但没起作用(在Windows 7上看起来像这样
)。
我该怎么做才能让数据库可写?