【问题标题】:Sqlite database exception: file is encrypted or is not a database in blackberry?Sqlite 数据库异常:文件被加密或不是黑莓中的数据库?
【发布时间】:2012-05-22 09:30:40
【问题描述】:

我正在开发一个公司应用程序,我需要在我的设备上创建一个本地数据库。

我通过create语句创建我的本地数据库[效果很好]

然后我使用该文件并通过fire-fox sqlite插件执行插入操作,我需要一次插入大约2000行,所以我不能使用代码。我只是通过 fir-fox 中的 sqlite 插件手动运行插入。

之后,我只使用该文件代替我的本地数据库。

当我通过我的代码运行选择查询时,它显示 Exception:java.lang.Exception: Exception: In create or prepare statement in DBnet.rim.device.api.database.DatabaseException: SELECT distinct productline FROM T_Electrical ORDER BY productline : 文件已加密或不是数据库

【问题讨论】:

    标签: sqlite blackberry


    【解决方案1】:

    我得到了这个问题的解决方案,我犯了一个愚蠢的错误,通过右键单击我的 RES 文件夹手动创建一个文件,这是不正确的。我们需要完全从 SQlite 插件创建数据库,然后它才能正常工作。 “从 SQLITE(文件)创建数据库并从 SQLITE 执行插入操作,然后它就可以正常工作了”

    这是一个非常罕见的问题,但我认为它可能对像我这样的人有所帮助......!:)

    【讨论】:

    • 好的,您现在应该接受自己的答案来完成问题。
    【解决方案2】:

    您应该检查您的 Firefox 安装使用的 SQLite 与 BlackBerry 上的 SQLite 之间是否存在版本问题。我想我在尝试使用 SQLite 版本 2 构建数据库文件时遇到了同样的错误。

    您也不需要在设备上创建数据库文件。为了创建大表,我使用 Ubuntu 机器和 sqlite3 命令行。创建文件、创建表、插入数据和构建索引。然后我只需将文件复制到设备上的正确目录中。

    【讨论】:

    • 你好,理查德,我在上一个应用程序中遇到过这个问题,在那里我做了同样的任务。在此应用程序中,当我在模拟器上运行时,它运行良好,但在设备上却产生了问题。我在 fir-fox 中有 0.7.7 版本的 sqlite 插件。如果我能在目前的情况下做任何事情,请告诉我。
    • 我一直在努力解决这个问题,刚刚得到一个好消息,我的应用程序正在模拟器上运行,但不在设备上运行。我的要求是:在我的代码中创建一个带有创建查询的数据库,而不是使用该数据库文件并通过 Firefox 中的 sqlite 插件一次插入 2500 行,而不是在我的应用程序中使用该更新的文件作为数据库。我将该文件保存在 RES 中,并在应用程序安装时将其传输到 SD 卡。在使用 firefox 的 sqlite 插件之前它工作正常。请给我一些建议。
    【解决方案3】:

    对我来说,这很简单。为该数据库设置了一个密码。我刚刚使用它,问题得到了解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多