- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当我运行这段代码时
require 'rubygems'
require 'data_mapper'
require "sqlite3"
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}./prod.db")
class Person
include DataMapper::Resource
property :id, Serial
def initialize(name)
self[:name] = name
self.save!
end
end
DataMapper.finalize.auto_migrate!
抛出这个错误
DataObjects::ConnectionError: unable to open database file (code: 14, sql state: , query: , uri: ).
它似乎在提示 DataMapper.finalize.auto_migrate!
行。
如果我注释掉 person 类,代码运行良好,尽管有些无用。
我遇到错误的操作系统是 Linux Mageia 2。我在运行 Ruby 1.9.3 的 WindowsXP 和 Windows7 上运行良好,但我怀疑问题是旧的 ruby 版本不是操作系统的问题。
此外,我可能很重要地告诉您,包含该文件的文件夹的权限是非常开放的 (-rwxrwxrwx)(对于日常使用来说,如此开放可能不切实际,但我很想得到data_mapper 工作)。
以下是其他可能有趣的规范我本地的 gem sqlite3 (1.3.7, 1.3.3)sqlite3-ruby (1.3.3)数据映射器(1.2.0)
我知道这里有很多变量可以更改。我想我会先把它放在那里,看看它是否是我愚蠢地遗漏的简单修复 :)
最佳答案
在您的代码中,您有 DataMapper 设置说明
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}./prod.db")
这表明 sqlite 数据库文件位置位于名为:当前工作目录 + .
的目录中,无法找到,因此会出现错误。因此,从 URI 中删除点应该可以解决该部分的问题。
请注意 #{Dir.pwd}
指向当前工作目录;指向相对于当前文件的绝对路径可能更安全,而不是说 - 例如:File.dirname(File.expand_path(__FILE__))
.原因是如果文件在其所在目录之外使用,是可以找到的。
现在是类定义。在您的初始化中,您引用了一个名为 name
的不存在的方法/属性。 .我认为你要找的只是一个属性声明,比如
property :name, String
你不需要初始化器,你可以使用,例如,Person.create(:name => 'Foo')
它将对象持久化到数据库中。
说到这里,回到默认的数据库连接,您可能会对使用内存中的 sqlite 进行测试感兴趣。你可以这样做
DataMapper.setup(:default, "sqlite::memory:')
这将在您每次使用该文件时从干净的平板启动数据库。
关于ruby - 使用 data_mapper (Ruby 1.8.7) 运行时如何解决 DataObjects::ConnectionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14746490/
我正在使用 elasticsearch.helpers.scan 函数在 python 中检索文档。它在本地运行良好,但是在 docker 上运行时出现以下 ConnectionError: Trac
我正在尝试从 python 脚本查询 elasticsearch,但出现异常。 我遵循了官方指南,例如 this one .但是当我试图查询 elasticsearch 时,没有成功。这里是异常(ex
我在使用 sqlserver 2012 的 npm mssql 3.0.0 中遇到错误 我正在创建单页应用程序,其中我使用express使用restful。有 4 种方法执行查询并返回数据以进行响应。
用这个最少的代码: import elasticsearch es = elasticsearch.Elasticsearch([{u'host': u'127.0.0.1', u'port': u'
我正在运行一个基于 Bottle 框架的网络服务器。该框架公开了一个端点,您可以在其中上传文件。有时,如果磁盘已满,网络服务器应该在不读取文件的情况下返回代码 429。出于某种原因,当我上传文件时,如
我这样做: import requests r = requests.get("http://non-existent-domain.test") 得到 ConnectionError: HTTPCo
我刚开始使用ElasticSearch,并从here.免费试用了14天 得到了一个username,password和id,现在我正在传递我的Elasticsearch主机url,username和p
我正在使用 requests 从服务器获取一些数据,这是在 while 循环中完成的。然而,时不时地会出现以下两个错误之一。第一个是请求返回的status_code不等于200,这会打印出一条错误消息
我有一个使用 ebaysdk 库的 python 代码,当我运行代码并输入关键字进行搜索时,我得到了这个错误。 Traceback (most recent call last): File "eba
在我的新 Django 项目中,我设置了一个 MongoDB 数据库并使用 mongoengine 模块但我无法在 shell 和 View 中正确访问数据库。 "ConnectionError: Y
我有一个像这样的 python 脚本: #!/usr/bin/python import sys import requests if len(sys.argv) ' % (sys.argv[0])
目前我遇到以下代码的NameError 问题: try: # some network programming raising an exception except ConnectionEr
我正在使用 PushSharp 4.0.10,MVC 4 和 c# 在 Apns 代理的 OnNotificationFailed 事件中,我得到 ConnectionError 异常。 更改证书(.
它说的是什么意思: requests.exceptions.ConnectionError: None: Max retries exceeded with url: /myurl (Caused b
看起来我的 mysql2 gem 连接到数据库有困难。我可以使用其他 mysql 客户端工具轻松连接到 mysql 数据库。我检查了用于 RSpec 的数据库连接字符串,它是正确的。运行 a_spec
当我的程序无法连接到本地服务时,我想引发 ConnectionError ( a python 3 subclass )。我正在使用 python2.7。虽然对此进行了测试,但看起来我必须导入一个模块
我在 heroku 上设置了 Redis,它工作正常,但有时我在 NEW RELIC 中遇到错误。 Redis::ConnectionError > Connection reset by peer
这是脚本: import requests import json import urlparse from requests.adapters import HTTPAdapter s = requ
我有一个获取新的 twilio 语音客户端的简单方法... export const createTwilioDevice = (_token) => new Twilio.Device(
我在 Ubuntu (14.04 LTS) 上使用 capybara webkit,尝试使用它时出现以下错误: Capybara::Webkit::ConnectionError: /srv/www/
我是一名优秀的程序员,十分优秀!