0

C++ を使用して Oracle に接続しようとしましたが、DBManger.h見つからないというエラーが表示されます。私も使用してocci.hみましたが、見つからないか、そのようなディレクトリがありませんという同じエラーが発生しました。

Oracle 11g をインストールしましたが、OCI ライブラリも含まれています。

OCIライブラリが存在する特定のフォルダも見つけました。私のシステムでは、それらは location にありますE:\app\user\product\11.1.0\db_1\OCI\lib\MSVC\vc8

Oracleホームから始まるパスも設定しました。しかし、それでも私のプログラムはヘッダー ファイルを見つけることができません。

どんな助けでも大歓迎ですか?私はたくさんグーグルで調べましたが、OCIライブラリが利用可能なフォルダを見つけるという同じ解決策を見つけました。Visual Studio 2008 で記述した以下のコードを投稿しています。

非常に小さなスクリプトを作成し、ヘッダー ファイルをインクルードしただけです。接続さえしていません:

#include <occi.h> 
#include <iostream>
using namespace oracle::occi;
using namespace std; 

class DataBaseConnectionTest
{
public:
void test()
{
    cout<<"Hello from test"<<'\n';
}
};
void main()
{
DataBaseConnectionTest *dbc=new DataBaseConnectionTest();
dbc->test();
}
4

2 に答える 2

2

プロジェクトのプロパティを変更し、E:\app...vc8 ディレクトリ名を追加インクルード ディレクトリに追加します。C++/General の下にあります。その中のすべての \ を 2 倍にする必要はありません。

いずれにしても、OCI ライブラリ ファイルに対して同様の処理が必要になるでしょう。インクルード ファイルはパズルの半分にすぎず、残りの半分は LIB です。

于 2012-07-02T19:00:41.797 に答える
1

OTLは OCI の代わりと考えることができます。そうすれば、コードの移植性が向上します。私は何年も前に SqlServer とのインターフェースとしてそれを使用しましたが、クリーンなデザインと生の速度 (MFC+ODBC よりもはるかに高速です...) に驚きました。また、私には問題があり、セルゲイはすぐに助けてくれました。

于 2012-07-02T19:34:07.110 に答える