ハードなソフトの話

アクセスカウンタ

zoom RSS PowerShell: OLEDB プロバイダーの一覧を表示する

<<   作成日時 : 2013/10/22 23:31   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

いろんなデータベースへ一度にアクセスする必要がある。

だから、とりあえず、OLE DBのプロバイダーの一覧を表示して、PCの状態を調べて、足りないプロバイダーはまとめてインストールしたい。

.NetにはOLEDBの一覧を表示する便利なライブラリがある。これをPowerShellから呼べば、簡単に一覧できる。

こんな感じ:

(New-Object data.oledb.oledbenumerator).getElements()

Jet.OLEDBがあるかどうか確認したいときは、こんな感じ:

(New-Object data.oledb.oledbenumerator).getElements() | where {$_.sources_name -match "jet" }

出力結果はこんな感じ:

SOURCES_NAME        : Microsoft.Jet.OLEDB.4.0
SOURCES_PARSENAME   : {dee35070-506b-11cf-b1aa-00aa00b8de95}
SOURCES_DESCRIPTION : Microsoft Jet 4.0 OLE DB Provider
SOURCES_TYPE        : 1
SOURCES_ISPARENT    : False
SOURCES_CLSID       : {dee35070-506b-11cf-b1aa-00aa00b8de95}

こんな感じでDB2のドライバを探して見たら:

(New-Object data.oledb.oledbenumerator).getElements() | where {$_.sources_name -match "db2" }

2つのプロバイダーが表示された:

SOURCES_NAME        : IBMDADB2 Enumerator.DB2COPY1
SOURCES_PARSENAME   : {B43C3AD1-9F91-4C26-956E-1BE6CB6C55A4}
SOURCES_DESCRIPTION : IBM OLE DB Enumerator for DB2
SOURCES_TYPE        : 2
SOURCES_ISPARENT    : False
SOURCES_CLSID       : {B43C3AD1-9F91-4C26-956E-1BE6CB6C55A4}

SOURCES_NAME        : IBMDADB2.DB2COPY1
SOURCES_PARSENAME   : {FC6E9530-AC87-4F29-965D-BD94BA88B08E}
SOURCES_DESCRIPTION : IBM OLE DB Provider for DB2 - DB2COPY1
SOURCES_TYPE        : 1
SOURCES_ISPARENT    : False
SOURCES_CLSID       : {FC6E9530-AC87-4F29-965D-BD94BA88B08E}

しかし、プロバイダー名がわかっても、接続文字列にどんな指定をするかは、とっさにわからん…。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
PowerShell: OLEDB プロバイダーの一覧を表示する ハードなソフトの話/BIGLOBEウェブリブログ
文字サイズ:       閉じる