vb6.0を使ってオラクル9iとの通信をするときADO、DAO
どちらを採用すればいいですか
また
メリットデメリットも教えていただけるとありがたいのですが。
DAOで接続する場合は、
1) ODBCリンクテーブル または IN演算子による外部DB接続クエリ
2) パススルークエリ
3) ODBCDirect
などの方法があります。
扱いやすいのは 1だと思いますが、パフォーマンスはさほど高くありません。
3は、Oracleに直接接続する(内部的に、RDOという機能が使われています)ので、
そこそこのパフォーマンスが期待できます。
2はその中間ですが、今回の場合は使う事は無いでしょう。
いずれにしても、DAOで接続する場合は、ODBCドライバが必須になります。
そのため、ODBCドライバの出来/不出来によっても差がでます。
# Microsoft製、Oracle製、DataDirect製のドライバなどがあります。
ADOの場合は、
1) ODBCドライバ + ODBC用OLE DBプロバイダでの接続
2) Oracle専用OLE DBプロバイダでの接続
があります。
この場合、ODBC層を経由しない分、Oracleプロバイダの方が有利です。
なお、これもOracle用プロバイダの出来/不出来によって、
パフォーマンスその他に差がでる事があります。
# Microsoft社製Oracleプロバイダは、Oracle9iに正式対応していないので、
# 使うなら、Oracle社純正のプロバイダか DataDirect社製のプロバイダを
# 利用する事になるでしょう。
ただ、Oracle 9iにDAOで接続するという話は、あまり聞きません。
一般的には、oo4o か ADO が一般的かと思います。
(あるいは、RDOという選択肢もありますが)
oo4oの場合は、OLE DB層や ODBC層を経由せず、直接Oracleと
通信できるため、パフォーマンスが期待できますし、
Oracle固有の機能も利用できます。可能ならば oo4o をお奨めします。
ツイート | ![]() |