FrontPage 新規 編集 検索 一覧 ヘルプ

UDL

UDLメモの目次

UDLとは?

UDLはデータリンクファイルの拡張子です。データリンクファイルはADO2.0で導入され、2.5で拡張されました。MSDNでUDLを検索すれば詳しい情報を入手できます。

データベースのプロバイダ接続文字列をダイアログで設定できるようにする汎用的なインターフェースといったところでしょうか。

百聞は一見にしかず。.udl という拡張子で空のファイルを生成してダブルクリックしてみましょう。何をするものかなんとなく解るでしょ?

実際に私は仕事でUDL接続を多様しているので、紹介程度に書いておきます。

UDLでMDBに接続

Jetエンジンを使うだけですので、Accessを持っていなくてもOKです。MDACは最新版をインストールしておくことをお奨めします。

MDBに接続するための設定

設定したUDLを使って・・・

下記はVBSでの接続例です。

 Dim objCon 
 Set objCon = CreateObject("ADODB.Connection")
 objCon.Open "File Name=sample.udl"

通常Openで接続文字列を書くところに "File Name=*.udl" としてUDLを設定してあげるだけです。簡単でしかもたくさんのメリットがあります。

これは、開発環境と実稼動環境など異なるディスク構成での設定がとても楽になります:-)

UDLでXLSに接続

これも Jetエンジンを使うだけですので、Excelを持っていなくてもOKです。

こうして接続したExcelファイルには、JETのSQL命令でアクセスすることができます。ExcelファイルをDBとして使うなんて・・・なんかいいですよね。俺的には大好きです。

あれ?スキーマは?

Excelデータってことは・・・スキーマはどうなってんの??そうです。Excelには、フィールドの型とか指定できないのです。さらにテーブル=シートなの?とか色々な疑問が浮かびます。他にも制限とかいっぱいありますので、

[HOWTO] VB または VBA から ADO を Excel データで使用する

とか参考にしてくださいませ。

UDLでテキストファイルに接続する

CSVなどのテキストデータベースに接続する方法です。

テキストデータベースは、

と扱われます。

ですので、DBへの接続だけなら、ディレクトリのみでテキストファイルは存在しなくてもよいです。以下の接続の確認は空のディレクトリでもOKです。

とこのようになります。実際にDBを扱う時は、テキストファイル(テーブル)を1つのディレクトリにまとめて、データベースとします。また、schema.ini という各テーブルのスキーマを定義したファイルも同じディレクトリ(データベース)に入れておきます。

ADOページの「テキストデータへのアクセス方法」もあわせてご覧ください。

Yesterday Today Total