1

現在、Informix ESQLC ファイルを Oracle Pro*C に移行する作業を担当しており、いくつか質問があります。まず、埋め込み ESQLC コード内で、、、、などの独自の Informix 関数を多数使用rstrdate()rtoday()ますrjulmdy()

Oracle Pro*C でこれらを変換する方法についての指針はありますか?

私が理解するのに苦労しているもう 1 つのことは、Oracle の日付データ型です。Informix では、組み込み SQL C コードで、Informix テーブルの日付を扱うホスト変数に long 型を使用します。

しかし、オラクルでは、日付はそれほど長くやり取りされていないという印象を受けていますが、char? それとも、ホスト変数を long 型として指定できますか?

4

2 に答える 2

0

上記に加えて、Informix 独自の関数 rtoday( ) を複製するメソッドを作成しました。

    int rtoday(long *today) {
  EXEC SQL BEGIN DECLARE SECTION;
      time_t t;
  EXEC SQL END DECLARE SECTION;

  EXEC SQL WHENEVER SQLERROR DO sql_error("Oracle error\n");
  EXEC SQL CONNECT :"user/pass@dbname";
  EXEC SQL SELECT (new_time(sysdate,'EDT','GMT') - to_date('31-dec-1899','dd-mon-yyyy')) INTO :t FROM DUAL;

  printf( "C   Time = %d\n", time(NULL) );
  printf( "SQL Time = %d\n", t );

  *today=t;
}
于 2009-05-05T14:02:59.913 に答える