VBScript で SQLite データベースに接続してみる

SQLite の準備

SQLite は誰でも無料で使える非常に軽量なデータベースで、アプリのデータ管理等、さまざまな所で密かに使われています。
リンクSQLite Home Page

データベース・サーバーというものが必要なく、Windows では ODBC ドライバをインストールすればそのまま使えるようになります。
PythonやPHPなどにいたっては、そのまま組み込まれていますので、インストールすら必要なくそのまま使えるようです。

Windows 版の ODBC ドライバは以下のページから Download できます。
Current version の下の sqliteodbc.exe と sqliteodbc_w64.exe で、前者が32ビット用、後者が64ビット用です。
リンクSQLite ODBC Driver

注意点として、64ビットのドライバの場合は、64ビットアプリケーションから起動しないといけない点で、これは他の ODBC ドライバでも言えますね。

VBScript で SQLite データベースに接続

ドライバのインストールがすんだら、いよいよ VBScript で SQLite データベースに接続してみます。
データベース接続と言っても、データベースのファイルを作ってそのファイルにアクセスするというのが実態だったりしますが。

次のスクリプトを、SQLiteTest.vbs などの .vbs 拡張子で保存して実行してみてください。

FileName = Replace(WScript.ScriptFullName, WScript.ScriptName, "test.db")

Set CN = CreateObject("ADODB.Connection")
CN.Open "DRIVER=SQLite3 ODBC Driver;Database=" & FileName & ";"

CN.Execute "CREATE TABLE IF NOT EXISTS テーブル1 (ID, 名前, ポイント);"
CN.Execute "INSERT INTO テーブル1 VALUES(1, 'ABC', 55);"
CN.Execute "INSERT INTO テーブル1 VALUES(2, 'あいう', 88);"

Set RS = CN.Execute("SELECT * FROM テーブル1;")
WScript.Echo RS.GetString
RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

4つの部分に分かれていますが、最初の行でスクリプトと同じ場所に test.db を作ることにして、そのファイルパスを設定しています。

2つ目のパーツは、マイクロソフトが用意している ADO という仕組みを使って、SQLite ODBC ドライバに接続しています。
データベースファイルが存在していないときは、この時に作成されます。

3つ目のパーツは、テーブルを作って、データを入れてます。

4つ目のパーツは、データを取得して、それをメッセージボックスで表示しています。

こんなところで、意外と簡単に接続できるものだなあ、と感想です。
注意点として、32ビット or 64ビットの問題以外に、ODBC 以外の方法で同じデータベースにアクセスしたときにエンコードが違うと日本語が文字化けしてしまうことがあります。

まあ、SQLite はあまり他と共有する使い方はしない方がいいと思ってます。
単独で使うなら、軽いし速いしいろいろ融通がきいてなかなか使いやすいと感じます。

タイトルとURLをコピーしました