次の記事 | 前の記事

2009-07-17

VS2005+SDK で FirebirdClient-2.1.0 + DDEX

Visual Studio 2005 Pro (以後VS) で Firebird を使うには
「Firebird ADO.NET Data Provider」を使う訳ですが、それに加えて
「DDEX Provider for Visual Studio」と組み合わせるとVSのIDE上で便利に使えるようになる。(ある程度)
最初は
FirebirdClient-2.0.1 + FirebirdDEXProvider-2.0.2
の組み合わせで何とか使っていた。
(クエリパラメータに「@XXXX」ではなく 「?」を使うことでわりと安定して使えた。@+名前が使えなかったのは多分withSDKになってなかったからかも)
が、ストアドプロシージャのパラメータ受け渡しに関連してどうもうまくいかないので最新版(といってもほんの数日で次のバージョンが出てしまった...)に切り替えてみることにした。

その時点での最新版は FirebirdClient-2.1.0 と FirebirdDDEXProvider-2.0.4 の組み合わせ。
付属の ReadMe.txt とか Web上の情報を参考に
FirebirdClient-2.1.0 + FirebirdDDEXProvider-2.0.4
を入れてみた。(この部分もいろいろあって、machine.configのバージョン書き換えとかレジストリの削除とか)
で、なんとかセットアップ完了!

ところが、これまでコンパイルが通っていた既存のプログラムが全部エラーでビルドができない状態になってしまった。

いろいろ調べてみて、VSのツールメニューにある「package load analyzer」でmscoree.dllが見つからない旨のエラーが発生することが判った。

関連するレジストリを探してみるとレジストリパス
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\{8d9358ba-ccc9-4169-9fd6-a52b8aee2d50}]

"InprocServer32"="mscoree.dll"
となっていた。

これを、実際にファイルがある場所にフルパスで、
"InprocServer32"="c:\\windows\\system32\\mscoree.dll"
と、書き換えてみたら...

ビルドできるようになりました!
めでたしめでたし。
ただ、どちらにしても SQL文のパラメータ受け渡しはちょっとアヤシイ気がする。

参考になるWeb上の情報
[Firebird-jp-general] DDEXProviderの登録に関して
のレスポンスが参考になります。

ちなみに Firebird Client の最新版はこの数日後に 2.5.0 がでました。
そのうち試してみよう。

category11. RDB Firebird  time2009-07-17 17:59  authorkagekino 

コメント

コメントはまだありません。

コメント追加

このアイテムは閉鎖されました。このアイテムへのコメントの追加、投票はできません。

トラバ

トラバ
トラバピングURL
http://weblog.hip-labo.com/action.php?action=plugin&name=TrackBack&tb_id=141
手動によるトラバは こちらからどうぞ。