VB4でACCESS2000に接続するにはどうすればいいのでしょうか?「データベースDLLからエラーが返されました」とメッセージが出て接続できません。
16bit版のVB4という意味ならば、VC++等でサンクDLLを作らないと無理ですね。
32bit版の場合は、
RDO 1.0以上 + MS Accesss Database Driver 4.0以上
もしくは、
DAO 3.6
もしくは、
ADO 2.0以上 + OLEDB Provider for Microsoft JET Version 4.0
のいずれかの選択肢となるでしょう。
RDO:
・VB4で標準サポートされているミドルウェアです。
・Enterprise Editionでなければ利用できません。
・Accesss 2000形式のmdbに対応したODBCドライバが、別途必要です。
DAO:
・VB4に付属のバージョンでは、Access 2000形式に対応できません。
・Access 2000形式(JET 4.0形式)を扱うには、DAO 3.6を入手する必要があります。
OLEDB Provider for Microsoft JET:
・プロバイダバージョン4.0が必要です。3.51では対応できません。
・一般的には、ADO 2.0以上と併用して使う事になるでしょう。
(ADO 1.xと併用した事は無いので、1.x系で動くかはわかりません)
http://www.microsoft.com/japan/msdn/data/default.asp
http://support.microsoft.com/default.aspx?scid=kb;ja;JP239114
ありがとうがございます。32BIT版でDAO3.6なのですが前に書いたようなエラーがでます。ほかに原因があるのでしょうか?
という事は、DAO 3.6が正しくセットアップされていないのかも知れませんね。
DLLの構成に問題がある場合などに、そのようなエラーが出る事があります。
DAO 3.5xの場合は、正常にインストールされているかを、
下記の資料などで確認できますが…DAO 3.6に関しては、
同種の資料が無いみたいですね。
http://support.microsoft.com/default.aspx?scid=kb;JA;240377
とりあえず、下記の点を確認してみてください。
・DCOM がセットアップされているか?
→ (Win98などの)比較的古いOSでは、別途、
DCOMのインストールが必要になる事があるようです。
・DAOを再インストールしてみた場合はどうなるか?
→ Jet 4.0 コンポーネントのインストール方法は、下記を参照してください。
http://support.microsoft.com/default.aspx?scid=kb;JA;271908
・JET の最新のService Packを適用してみた場合は?
→ JET 4.0 の最新は、Service Pack 7 です。
http://support.microsoft.com/default.aspx?scid=kb;ja;282010
・実行時バインドでの接続は可能ですか?
→ 手元に VB4 がないので確認できませんが、おそらく、
下記のようなコードを記述すれば、参照設定無しで
DAO 3.6 を利用できると思います。
Set DE = CreateObject("DAO.DBEngine.36")
Set WS = DE.CreateWorkspace("#Default Workspace#", "Admin", "", "")
Set DB = WS.OpenDatabase("C:\AC2K.mdb")
VB4環境を持っていませんので情報だけです。
http://support.microsoft.com/default.aspx?scid=kb;ja;414163
曰く、
DAO 3.6 Object Library または Jet 4.0 OLE DB Provider は
Visual Studio 6.0 Service Pack 3 以降に含まれています。
よって、Visual Basic 5.0 以下のバージョンでは動作保証しません。
データベース形式を旧バージョンに変換してご使用いただくか、
バージョン 4.0 以降の ODBC Desktop Driver を使用してください。
とあります。
ODBC経由で試してみては如何でしょう?
詳しく説明していただきお二人様ありがとうございます!感謝です!
上記どうり試してみます。
接続できました。ありがとうございました。本当に助かりました。
ツイート | ![]() |