ColdFusion8にSQLiteのJDBCデータソースを追加したのでメモ。こういうのはすぐ忘れてしまうので…
SQLiteデータベースはあらかじめ作成済みとします。
また、文中の{CFroot}はColdFusion8のインストールディレクトリです。
- SQLiteのJDBCドライバをダウンロードします(今回はjavasqlite-20080420-win32.zip)
- 解凍してできた sqlite_ini.dll と sqlite.jar をそれぞれ次の場所に保存します
sqlite_ini.dll => {CFroot}/runtime/jre/bin/
sqlite.jar => {CFroot}/wwwroot/WEB-INF/lib/ - CFアドミニストレータ画面で「JavaとJVM」を開き、ColdFusionクラスパスを追加します
例)C:/ColdFusion8/wwwroot/WEB-INF/lib/sqlite.jar - ColdFusion 8 Application Serverを再起動します
- CFアドミニストレータ画面で「データソース」を開き、ドライバ「その他」で新規データソースを作成します(データソース名は任意)
- 詳細設定で以下の内容を入力します
JDBC URL => jdbc:sqlite:/SQLiteデータベースファイルのフルパス
例)jdbc:sqlite:/C:/Development/test.sql
ドライバクラス => SQLite.JDBCDriver
ドライバ名 => 任意;SQLiteなど
ユーザ名、パスワード、説明は特に必要ありません - 送信すると、自動的にデータソースとの通信がチェックされます
<cfquery>でSELECTすると、結果のラベルにSQLiteデータベースのテーブル名が入ってしまいます。
また、<cfoutput>にquery属性を指定した場合でもデータソース名の省略ができませんでした。
これらはJDBCのバージョンアップによって変わる可能性もありそうです。
ソースコード例:
<cfquery name="userNames" datasource="testUsers">
SELECT id, name
FROM users
</cfquery>
<cfoutput query="userNames">
#userNames.users.id# #userNames.users.name#<br />
</cfoutput>
[メモのさらにメモ]
※ ODBCドライバも同じサイトにあったので、問題が発生したらODBC接続も検討します。
※ ColdFusionの代替としてSMITHも面白そうです。
SQLiteの設定にあたって、以下のサイトを参考にしました。
ColdFusion & SQLite – ColdFusion Talk
http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:48155
Message posted by Suzor – smithproject.org
http://www.smithproject.org/forum/posts/listByUser/16.page


日本語
English


