コンソールアプリで(要はバッチ的に)Oracleを操作したい時がある。
プロジェクト作成時に「コンソールアプリ」を選択して、「VCLを使用」にチェックを入れておくのだけど、それだけではなくて起動後に「CoInitialize?」しておかないと使えない。
こんな感じです。
#include <utilcls.h> : : Variant ses, db, rs; AnsiString strTMP; : : ::CoInitialize(NULL); : : ses = CreateOleObject("OracleInProcServer.XOraSession"); db = ses.Exec(PropertyGet("OpenDatabase") << "Database" << "user/pass" << 0); rs = db.Exec(PropertyGet("CreateDynaset") << "SELECT * FROM hogera" << 0); strTMP = rs.Exec(PropertyGet("Fields") << strFIELD).Exec(PropertyGet("Value")); : : ::CoUninitialize(); : :