4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらのレンタルサーバーライトでRubyからSQLiteを利用する方法

Last updated at Posted at 2016-03-26

そのままでは使えない

「使える」って書いてあるけど、そのままでは使えない。
PHPでは動くみたいなのでSQLite自体は利用可能であることを確認。

ちなみに、Rubyのバージョンを確認すると1.8.7でした。

Googleで検索

同じようなことをされている方がおられたのですが、リンク先がなくなっていて関係ファイルがダウンロードできませんでした。
http://hal2008.sblo.jp/article/25836286.html

Debianのアーカイブで必要なファイルを発見

以下のサイトから「sqlite3-ruby_1.2.2.orig.tar.gz」をダウンロードして展開し、libフォルダを入手。
https://archive.debian.net/ja/source/lenny/sqlite3-ruby

これから他のライブラリを使う時に同じようなことをする可能性を感じたので、ホームディレクトリに「lib」というフォルダを作って、そこにコピーしました。

2016.04.07 追記
以下のURLにてGitHubからも古いソースコードがダウンロードできました。
https://github.com/sparklemotion/sqlite3-ruby/archive/v1_2_2.tar.gz

テストコードの作成

以下のサイトを参考にテストコードを作成。
http://o.inchiki.jp/obbr/39

ちなみに、さくらのレンタルサーバーにはdbというフォルダがあるので、そこにSQLiteのファイルを保存。

sample.cgi
#!/usr/local/bin/ruby

$LOAD_PATH << "/home/[ユーザー名]/lib"

require "sqlite3"

print <<EOF
Content-Type: text/html

EOF

print RUBY_VERSION

db = SQLite3::Database.new("/home/[ユーザー名]/db/sample.db")
sql = "SELECT * FROM test;"

rs = db.execute2(sql)

puts "<p>#{rs.count}</p>"

rs.each do |row|
  puts "<p>[#{row[0]}]</p>"
end

db.close

動いた!

雑感

せっかくRuby2.x系に移行してきたのに、また1.8系を触ることになるとは...

4
5
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?