問題タブ [oracle-pro-c]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
817 参照

c++ - Pro*CでのLIKEの使用

LIKEをPro*Cで使用するにはどうすればよいですか?以下のコードは機能しません。データベース内のレコードを検索する必要があります。

0 投票する
1 に答える
1097 参照

java - Java から Pro*C コードを呼び出す方法は?

現在、OracleフォームアプリケーションをJava Webアプリケーションに移行する必要があるプロジェクトに取り組んでいます。データベースにレコードを挿入および更新するために Oracle Pro*C コードを呼び出すフォームがいくつかあります。

Java から Pro*C コードを呼び出す必要があります。Pro*C コードの呼び出し方法について、いくつかの例を教えてください。

0 投票する
1 に答える
1218 参照

c - ビルド プロセス後に cmake で追加のソース ファイルをコンパイルする方法

私は、database.proc と呼ばれる Pro*C ソース ファイルを含む Windows 用の cmake のプロジェクトを持っています。私の目標は、.proc ファイルから C ソース ファイルを生成し、それをプロジェクトに追加して、他のソース ファイルに沿ってリンクすることです。これを達成するためにカスタムコマンドを追加しようとしましたが、成功しませんでした

これを行う方法はありますか?

0 投票する
2 に答える
816 参照

c - pro*C キーワード「Execute」が認識されない

HP-UX aCC コンパイラ [HP C/aC++ B3910B A.06.26] を使用して古い C/Pro*C アプリケーションをコンパイルしています (古いバージョンの aCC コンパイラで既にコンパイルされています)。コンパイルは常に以下のエラーで失敗します

私が理解したように、コンパイラは、データベース ストアド プロシージャを呼び出すために使用される proc *C キーワード "EXECUTE" を認識できません!

この問題を解決するのに役立つアイデアはありますか? 事前にどうもありがとうございました。よろしく

0 投票する
2 に答える
2981 参照

c - Oracle Pro*C/OCI は、SIGSEGV/SIGABRT およびその仲間のハンドラーをインストールします - なぜ、どのように無効にするのですか?

Pro*C (C コード用の Oracle の組み込み SQL プリプロセッサ) または OCI を使用しているときに、connect/init ルーチンがいくつかのシグナル ハンドラをインストールすることに気付きました。

つまり、

または

たとえば、これらのシグナルに次のハンドラーがあることを確認できます。

connect/init ステートメントの後、テーブルは次のようになります。

ここで、0x7eff9e60bdac は、Oracle ランタイム ライブラリで定義されている両方のシンボルを示しsslsshandler()、0x7eff9ea17f9c を示します。skgesig_sigactionHandler()libclntsh.so.11.1

これらの Oracle シグナル ハンドラーが非常に非決定論的な動作を導入しているように見えるため、私は懸念しています。これは、OS、ハードウェア、および segfault/abort の種類に応じて、次の動作を観察したことを意味します。

  • 有用な情報があまり含まれていない見苦しいスタックトレース
  • exit-status 1 でプログラムを直接終了 - コアファイルの書き込みなし、エラーメッセージなし
  • exit-status 0 でプログラムを直接終了します (sic!)

特にラストの振る舞いはグロテスク。

したがって、私は興味があります:

  • 動機 - これらのシグナルハンドラがオラクルによってインストールされるのはなぜですか?
  • それらを無効にする方法は?-少なくともデフォルトでコアファイルを生成するシグナルの場合-私のユースケースでは、そのような状況(開発中)または本番環境での信頼性が高く有益な終了ステータスでコアが必要なため
  • たとえば、Oracleシグナルハンドラを上書きしても安全act.sa_handler = SIG_DFL; sigaction(SIGABRT, &act, 0);ですか?
  • 接続後に SIGABRT/SIGSEGV とフレンドを SIG_DFL にリセットすることの欠点は何ですか?
0 投票する
2 に答える
5864 参照

c++ - PCC-S-02015、インクルード ファイルを開けません

コンパイラ Sun C++ 5.9 SunOS_sparc パッチ 124863-01 を使用して、SUN サーバーで C++ アプリケーションをコンパイルしようとしています。vectorPro*C++ コンパイラは、list...などの一部のシステム ヘッダー ファイルを識別できないようです。

私は C++ を初めて使用し、コンパイラがヘッダー ファイル自体を見つけられなかったのか、それとも.h拡張子なしで指定されたために識別できなかったのか疑問に思っています。

pcscfg.cfgまた、 pro*C コンパイル用のシステム ヘッダー ファイルを指す構成ファイル (以下)も確認しましたが、これも正しいようです。


この問題を解決するためのアイデアはありますか?

0 投票する
2 に答える
109 参照

timesten - Pro*Cを使用してTimesTenデータベースにアクセスする

Pro*C を使用して TimesTen データベースにアクセスしようとしています。TimesTen でテーブルを作成するコードは次のとおりです。

Pro*C を使用して、このテーブルからデータをフェッチします。このSQLを使用すると:

結果が出ません。しかし、これを使用すると:

正しい結果が得られます。フィールドに十分なスペースを埋めなければなりません。正しい結果を得ることができる他の方法はありますか?

0 投票する
1 に答える
350 参照

c - Oracle Pro*Cファイルを使用したVimクイックフィックスモード?

Vim を使用して Oracle Pro*C ファイルをコンパイルすると、次の問題が発生します。

  1. 何も問題がなければコンパイルは終了しますが、現在開いているファイルがなくなって画面が空になり (これは Pro*c ファイルでのみ発生し、通常の .c は正常に動作します)、ヒットCtrlOすると元のファイルに移動します。

  2. コードに問題がある場合は、クイックフィックス ウィンドウを開くことができますが、問題のある場所を示す行に自分自身を配置すると、何も実行されません。

私は Vim にかなり慣れていないので、これらの問題に取り組む方法がわかりません。

どんなアドバイスでも大歓迎です

役立つ場合はvim 7.3を使用しています。

0 投票する
1 に答える
3912 参照

visual-studio-2012 - Pro*C/C++ Oracleプリコンパイラがwindows.hヘッダー・ファイルを解析できないのはなぜですか?

MSVC Ultimate 2012 を使用して、Windows Server 2008 R2 Standard (SP1) で作業しています。「C」プロジェクトを 64 ビット プラットフォーム用にコンパイルしようとしています (ただし、問題はターゲットに関連していないようです)。プロジェクトには *.pc ファイルが 1 つ含まれており、Pro*C/C++ プリコンパイラでプリコンパイルする必要があります。問題は、そのファイルをプリコンパイルできないことです。windows.h ヘッダー ファイルの解析中にプリコンパイルが失敗します。助けてください!!!

詳細:

1) ソース ファイル:私の my.pc ファイルは次のように始まります。

注:#include <windows.h>エラーの呼び出しには最初のもので十分です。

2) 構成ファイル:デフォルトの pcscfg.cfg ファイルは空です。プロジェクト構成ファイル my.cfg は次のようになります。

注: d:\Progra~1\Micros~2.0\VC\include = D:\Program Files\Microsoft Visual Studio 10.0\VC\include、c:\Progra~2\WI3CF2~1\8.0\Include\um = C :\Program Files (x86)\Windows Kits\8.0\Include\um, c:\Progra~2\WI3CF2~1\8.0\Include\shared = C:\Program Files (x86)\Windows Kits\8.0\Include\共有、$PROC11_ORACLE_HOME = d:\oracle\product\11.2.0\client_2. これらのパスは、必要なすべてのヘッダー ファイルを見つけるために存在します。

3) コマンド ライン:カスタム ビルド ツールの [全般] オプションで、my.pc ファイルに次のコマンド ラインを定義しました。

注: $(MSDEV_HOME) = D:\Program Files\Microsoft Visual Studio 10.0.

4) プラットフォーム: MSVC プラットフォームは x64 に設定されていますが、Win32 でも同様の結果が得られました。

5) エラー メッセージ: my.cfg ファイルにdefine=_WIN64 が含まれている場合、プリコンパイル中にエラー メッセージが表示されます。

6) エラー メッセージ: define=_WIN64 がmy.cfg ファイルに含まれていない場合、プリコンパイル中に受信されるエラー メッセージ:

7) ファイル vadefs.h: vadefs.h ヘッダー ファイルの重要な行は次のようになります。

問題は、標準の Microsoft ヘッダー ファイルでプリコンパイルが失敗する理由です。_WIN64 に関連するものなど、マクロに混乱がある可能性がありますか? または、構成ファイルに別のマクロを追加する必要がありますか? 私はたくさんの議論を読みましたが、進展はありません。どんなアイデアでも大歓迎です!

0 投票する
0 に答える
1241 参照

c++ - データベースなしで Oracle Pro*C をコンパイルすることは可能ですか (セマンティック チェックをスキップします)。

製品の 35 以上のバージョンの開発サーバーをサポートしています。各バージョンは同じ DB スキーマを持っていない可能性があるため、従来は、開発者が Pro*C ライブラリを構築できるように各バージョンの Oracle インスタンスをサポートする必要がありました。

現在、バージョンの数が多すぎて、個々の Linux サーバー上の個々の DB インスタンスでサポートできません。したがって、これらのアプローチのいずれかが可能であると思っていました。

1) Pro*C コード (.pc .pcc) をセマンティック チェックなしでコンパイルするには (リリース ビルドでは危険であることはわかっていますが、迅速なテスト ビルドの場合、開発者は私が新しいサーバーを提供するのを待つ必要はありません) 2) 持っているメタデータのみを含む、データベースの 35 以上のインスタンスを持つ 1 台のサーバー

セマンティックチェックを無効にできる場合はかなりの場所を検索しましたが、成功しませんでした。1 つの Linux サーバーで複数のインスタンスを構成しようとしましたが、各インスタンスはかなり多くのメモリを使用するため、35 以上のインスタンスを持つことは問題外です。

巧妙なトリックや提案は大歓迎です。

ありがとう、

ティーン