Clionを使用してocciアプリケーションを作成します。私のcmakelist.txt:
cmake_minimum_required(VERSION 2.8.4)
project(oracle_manager)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(oracle_manager ${SOURCE_FILES})
INCLUDE_DIRECTORIES(/opt/oracle/product/11.2.0/dbhome_1/rdbms/public)
LINK_DIRECTORIES(/opt/oracle/product/11.2.0/dbhome_1/lib)
SET(REQ_LIB /opt/oracle/product/11.2.0/dbhome_1/lib/libagtsh.so
/opt/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so
/opt/oracle/product/11.2.0/dbhome_1/lib/libocci.so
/opt/oracle/product/11.2.0/dbhome_1/lib/libodm11.so
/opt/oracle/product/11.2.0/dbhome_1/lib/liborasdk.so
/opt/oracle/product/11.2.0/dbhome_1/lib/liborasdkbase.so
/opt/oracle/product/11.2.0/dbhome_1/lib/libsqlplus.so)
TARGET_LINK_LIBRARIES(oracle_manager ${REQ_LIB})
SET(SOURCE_FILES main.cpp)
私のプログラム:
int main()
{
Environment* env = Environment::createEnvironment();
Connection* con = env->createConnection("user", "password", "server");
Statement* stmt = con->createStatement("select * from tab");
ResultSet* rs = stmt->executeQuery();
stmt->closeResultSet(rs);
con->terminateStatement(stmt);
env->terminateConnection(con);
Environment::terminateEnvironment(env);
cout << 1 << endl;
return 0;
}
私のオペレーティングシステムはubuntu12.04 ltsで、Oracleデータベースのバージョンは11gです。私はこのラインプログラムに墜落され、このコマンド「G ++ main.cppに-o main.o -locci -lclntsh」、ビルド成功とprogram.Theプログラムをデバッグする実行success.Then I利用Clion main.cppにファイルの使用をコンパイルEnvironment* env = Environment::createEnvironment();
ですこれらは私のcmakelist.txtでいくつか間違っていますか?それを修正する方法は?
はい、修正しました!oracleWebステーションからoracleInstant Client zipパッケージをダウンロードします:http: //www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html次に、パッケージを抽出し、に移動libociei.so
し/opt/oracle/product/11.2.0/dbhome_1/lib/
て追加します。/opt/oracle/product/11.2.0/dbhome_1/lib/libociei.so
MakeList.txtに移動します。プロジェクトをビルドし、デバッグを行います。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加