0

我正在尝试解析 rails 3 中的 sqlite3 数据库(使用 sqlite3-ruby gem)。要解析的数据库来自文件上传。这是我的控制器代码:

  require 'fileutils'
  require 'sqlite3'

  tmp = params[:file_upload][:my_file]
  file = params[:file_upload][:my_file].tempfile
  filename = params[:file_upload][:my_file].original_filename

  file = File.join("public", params[:file_upload][:my_file].original_filename)
  FileUtils.cp tmp.path, filename

  db = SQLite3::Database.new(filename)

所以它在本地运行得很好,但在生产中(使用EngineYard)却不行。我收到以下错误:

 SQLite3::NotADatabaseException (file is encrypted or is not a database)

我不懂为什么。任何帮助将不胜感激,因为我真的不知道如何解决这个问题。

谢谢

4

1 回答 1

0

根据您自己的问题Sqlite 3.7 on amazon ec2 with Engine Yard 似乎:) Engine Yard 为您提供了 sqlite 3.6,这意味着上面的@schlenk 给出了正确的答案:错误消息通常表明数据库文件是使用 WAL 模式创建的,这需要 mysql 3.7,Engine Yard 尚未提供。

于 2013-08-28T20:16:19.410 回答