暗号化されたSQLiteデータベースファイルに「A5:SQL Mk-2」で接続する

2017年10月27日SQLite,ソフトウェア,開発

おはようございます。

SQLiteデータベースは、基本的にパスワードが必要ないのですが、
プログラムやフリーのツールを使ってパスワードをかけて暗号化することもできます。

ただ、暗号化されてしまうと「A5:SQL Mk-2」で普通に接続しようとしても
エラーで接続ができないといった問題にぶつかります。

ということで暗号化されたSQLiteデータベースに「A5:SQL Mk-2」で接続する方法を調べました。

今回はC#で暗号化した想定としますので、
SQLite本体や、「System.Data.SQLite.dll」などは既に存在する前提で進めます。

スポンサーリンク

SQLiteのODBCドライバーをインストール

ダウンロード

ダウンロードサイト にアクセスします。

ダウンロードサイト
ダウンロードサイト

「sqliteodbc.exe」をダウンロードします。

インストール

ダウンロードした「sqliteodbc.exe」を実行します。

セットアップダイアログ
セットアップダイアログ

セットアップ画面が表示されるので、「Next」ボタンをクリックします。

インストール先指定画面
インストール先指定画面

インストール先指定画面が表示されるので、デフォルトのまま「Next」ボタンをクリックします。

コンポーネント選択画面
コンポーネント選択画面

コンポーネント選択画面が表示されるので、
チェックを付けずに「Install」ボタンをクリックします。

セットアップ完了画面
セットアップ完了画面

セットアップ完了画面が表示されるので、「Finish」ボタンをクリックします。

A5からの接続

A5SQLを起動します。

A5:SQL Mk-2の起動
A5:SQL Mk-2の起動

左側ツリー上で右クリックし、「データベースの追加と削除」を選択します。

データベースの追加と削除画面
データベースの追加と削除画面

データベースの追加と削除画面が表示されるので、
全てにチェックをつけて「追加」ボタンをクリックします。

追加するデータベースの接続タイプ選択画面
追加するデータベースの接続タイプ選択画面

追加するデータベースの接続タイプ選択画面が表示されるので、「ADO(OLE DB, ODBC)」を選択します。

データベースの内容登録画面
データベースの内容登録画面

データベースの内容を登録画面が表示されるので、右側にある「…(参照)」ボタンをクリックします。

データリンクプロパティ画面
データリンクプロパティ画面

データリンクプロパティ画面の「プロバイダー」タブで、
「Microsoft OLE DB Provider for ODBC Drivers」を選択します。

データリンクプロパティ画面
データリンクプロパティ画面

データリンクプロパティ画面の「接続」タブで、
「接続文字列を使用する」にチェックをし、「ビルド」ボタンをクリックします。

データソースの選択画面
データソースの選択画面

データソースの選択画面が表示されるので、「新規作成」ボタンをクリックします。

データソースの新規作成画面
データソースの新規作成画面

データソースの新規作成画面が表示されるので、「次へ」ボタンをクリックします。

データソースのドライバー一覧
データソースのドライバー一覧

データソースのドライバー一覧から、「SQLite3 ODBC Driver」を選択し、「次へ」ボタンをクリックします。

作成完了
作成完了

内容に間違いがなければ「完了」ボタンをクリックします。

SQLite3 ODBC DSN Configuration 画面
SQLite3 ODBC DSN Configuration 画面

SQLite3 ODBC DSN Configuration 画面が表示されるので、
データソース名と、SQLite のファイルを指定して「OK」ボタンをクリックします。

データソースの選択画面
データソースの選択画面

データソースの選択画面に戻ったら、「OK」ボタンをクリックします。

データリンクプロパティ画面
データリンクプロパティ画面

データリンクプロパティ画面に戻ったら、接続文字列の末尾に「Password=xxxxxxx;」を追加して、「OK」ボタンをクリックします。

接続テスト
接続テスト

接続のテストは、常に成功するのでちゃんと接続してテーブル等が参照できるか確認しましょう。

まとめ

パッケージソフトなんかで SQLite を使う場合は、暗号化(パスワード設定)なんかが必要となるかと思います。

暗号化された SQLite を操作するにはひと手間必要なので、
基本的には開発中はパスワードをかけず、インストーラー作成時にカスタムアクションをかませたりして暗号化をするといいかもしれませんね。

ではでは。

スポンサーリンク


関連するコンテンツ

2017年10月27日SQLite,ソフトウェア,開発C#,SQLite

Posted by doradora