phpLogo

MSAccessからSQLiteを操作する

はじめに 09/08/11(火)

今までの学習
09/08/11(火)------------------------------------------------------
SQLite自体の学習を始める前にSQLiteのファイルをMSAccessで操作できるようにと設定を行いました。
以前に行っているのですが、すっかり忘れてしまっている。 また、以前記載した記録は自分で記載しながらよくわからないので再度記録をし直します。

参考サイト
参考サイト
ODBCによるOracleアクセス設定方法
OpenOfficeとAccessとSqlite
MS-Accessを使いExcelなどから一気にチケット登録-準備。(SQLiteの場合)
SQLiteの面白さ(11) ODBCドライバを改造した
民芸的プログラミング ~ソフトウェア開発日記~

ODBC データ ソースを管理する
ここに詳しく書いてあった。初めにこのページに気がつけば良かったのにと、悔やまれる。 しかし、失敗を繰り返した後だからこそ、このページの内容もわかるようになったようにも思える。
用語解説
ODBC
ODBC (Open Database Connectivity) は、 Microsoft Access データベースを Microsoft SQL Server などの 外部データ ソースに接続するために使用できるプロトコルです。
DSN
Data Source Name Microsoft社によって開発された、 データベースの種類に左右されない統一的な方法で データベースにアクセスするためのプログラミングインターフェースである OLEデータベースプロバイダ。

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

DLサイト、そして、インストール
ここ(SQLite ODBC Driver) よりSQLite ODBC Driver (sqliteodbc.exe)をDLします。

For Win32 operating systems a binary package is available as an NSIS installer in sqliteodbc.exe. It was made with SQLite 2.8.17/3.6.14.2 and a MinGW cross compiler, and contains the driver DLLs and programs for installation and uninstallation of the ODBC driver.

DLしたsqliteodbc.exeを実行するとODBCドライバがインストールされます。

「ファイル名を指定して実行」→「odbcad32」
→ODBCデータソースアドミニストレータ
→「システムDSN」タブで確認できます。

SQLite Datasource
SQLite UTF-8 Datasource
SQLite3 Datasource
の3つが追加されました。

DSN設定(ODBCによるアクセス準備) 09/08/11(火)

設定目的
外部のDBMSに限らず、DB的サービスを提供するアプリケーションやファイルを Windows上ではDSN(Data Source Name)として一元管理し、アクセスする機能を 提供している。
ミドルウェアを直接使用する場合はこの限りではないが、 ODBCを介したDBアクセスはWindowsの配下で行われるので、DSNの登録が必要である。

DSNにはユーザDSNとシステムDSNがあり、前者は各ユーザが必要に応じて設定する ものであり、 後者はそのWindowsマシンを使用するユーザ全てが使用可能なように 管理者が設定するものである。
ユーザーDSNの設定


ODBCデータソースアドミニストレータで、
「ユーザーDSN」タブをクリックします。

「追加」タブをクリックします。

SQLite3の設定を行いました。
一覧の一番下「SQLite3 Datasource」を選択し、「完了」をクリックします。


SQLite3 ODBC DSN Configration画面が起動します。

Data Source Name:へ
SQLite3_osl
DatabaseName:へ
データベースファイルのパス
を設定しました。

他の蘭は設定しませんでした。
と、いうより意味がよくわからなかったのでそのままとしました。 「OK]をクリックします。


ODBCデータソースアドミニストレータの画面に戻ります。

一覧の一番下「SQLite3_osl」というSQLite3ODBC Driverが作成されました。

以上で設定終了です。

MSAccessで開く

ファイルを開く

MSAccessを起動し、
「ファイル」「開く」
「ファイルの種類をODBCデータベース()」
と選択します。

DSN選択
データソースの選択ウィンドウ画面が表示されます。

「コンピュータデータソース」タブをクリックし、
「ファイルデータソース」タブはだめ
×.もし、「ファイルデータソースタブ」を選択していると

「3.ユーザーDSNの設定」で設定した「SQLite3_osl.dsn」を選択します。
そして、「OK」をクリックです。
テーブル選択

テーブル選択ウィンドウ画面が表示されます。

「全て選択」「OK」でめでたし、めでたし。
MSAccessを用いてSQLite3のデータを扱えるようになりました。

やったー!!!やったー!!!
Accessでの入出力はなんといっても操作性がよい。

×.もし、「ファイルデータソースタブ」を選択していると
もし、「ファイルデータソースタブ」を選択している状態で、 SQLite3.dsnを選択し「OK」をクリックすると次のようにエラーとなってしまう。
ここで、この「SQLite3.dsn」は、MSAccessから「ファイルデータソース」「新規作成」 と行うと作成されるもの。
作成されるまでの詳しい操作は、htmlを書くのがさすがにしんどくなったのでやめ。
この放棄のために、後でこのHPを視てわからなくなってしまうかも。でももうしんど。
やめ、やめ、やめたー


システムで予約されているエラー(-7778)です。このエラーに対するメッセージはありません。



いろいろとやってみたがどうにもわからない。
とりあえず止め。09/08/11 16:49

その後、09/08/13(木)にデータソースに「ファイルデータソース」「コンピュータデータソース」 の2つがあり、「コンピュータデータソース」に定義すれば良いことがわかった。
そして、このページにその扱い方をまとめた。

ODBCの管理、DSN選択画面について

解説
ODBCの管理画面(ODBCデータソースアドミニストレータ)、DSN選択画面(データソースの選択)について、当初この2つの違いがよくわからないでいた。 そのために、多くの試行錯誤を繰り返したことになる。 ここに、この2つを比較しておきたい。
ODBCの管理画面
ODBCの管理画面(ODBCデータソースアドミニストレータ)です。
「ファイル名を指定して実行」
→「odbcad32」
または、
「コントロールパネル」
 →「管理ツール」
  →「データソース(ODBC)」
で起動します。

この画面からは、DSNの削除もできます。
DSN選択画面(データソースの選択)
DSN選択画面(データソースの選択)です。
「Accessを起動」
 →「ファイル」
  →「開く」
  →「ファイルの種類をODBCデータベース()」
で起動します。

「コンピュータデータソース」タブ
 →「新規作成」
で作成したDSNは、Accessから使用できます。