日本語PDF

このリリース・ノートについて

このドキュメントには、Pro*C/C++リリース19c、バージョン19.1の重要な情報が記載されています。

次の項目が含まれます。

ドキュメントのアクセシビリティ

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

お客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info、聴覚に障害があるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

互換性および移行の問題

この項では、以前のリリースのPro*C/C++から移行する際の互換性の問題について説明します。

32ビット実装と64ビット実装の間の互換性

32ビット実装と64ビット実装の両方をサポートするプラットフォームでは、64ビット・バイナリとリンクする前に、EXEC SQL INCLUDE文を介してsqlcaをインクルードするアプリケーションを再度プリコンパイルする必要があります。#includeプリプロセッサ文を介してsqlca.hをインクルードするアプリケーションの場合は、64ビット・バイナリと再リンクする前に再コンパイルして、64ビットのsqlca.hをインクルードする必要があります。

将来は、実装間で生成コードの互換性をサポートするために、32ビット・バイナリと64ビット・バイナリの両方をサポートするポートでは、1バージョン、つまり64ビット・バージョンのsqlca.hのみが提供される可能性があります。

Pro*C/C++構成ファイル

Pro*C/C++構成ファイルのprecomp/admin/pcscfg.cfgは、sys_includeオプションの適切なパスを使用して更新する必要があります。このパスは環境変数で指定できます(UNIXシステムの場合は$ORACLE_HOME、Windowsの場合は%ORACLE_HOME%など)。includeオプションも適切に更新する必要があります。

sys_include=($ORACLE_HOME/precomp/public,/usr/include)
<pre>sys_include=/usr/lib/gcc/i386-redhat-linux/4.1.1/include
<pre>include=($ORACLE_HOME/precomp/public)
<pre>include=$ORACLE_HOME/precomp/hdrs

LTYPE=SHORT

LTYPE=SHORTオプションを設定すると、.lisファイルの生成には、プログラム全体がリストされる公開形式ではなく詳細形式が使用されます。

旧リリースの新機能

この項では、以前のリリースのPro*C/C++で導入された新機能を示します。

Pro*C/C++ 18.1製品版の機能

このリリースの新機能は次のとおりです。

  • Traffic DirectorモードのOracle Connection Managerのサポート

    Traffic DirectorモードのOracle Connection Managerは、高可用性、接続の多重化およびロード・バランシングの向上のために、サポートされているデータベース・クライアントとデータベース・インスタンスの間に配置されるプロキシです。

Pro*C/C++ 12.2製品版の機能

  • 長い識別子(128バイトのオブジェクト長)のサポート。以前のリリースでは、オブジェクトの長さの制限は30バイトでした。

  • Oracle Instant Client - Basic Lightバージョンのサポート

  • 新しいコマンドライン・オプションtrim_password。このオプションにより、パスワード文字列の末尾に空白が含まれていることで発生する認証の問題を防止できます。

  • Pro*C/C++のvc12 (Visual Studio 2013コンパイラ)との互換性。

Pro*C/C++ 12.1製品版の機能

  • 自動増分列のサポート

  • 32Kの列のサポート

  • メモリー指定によるプリフェッチのサポート

  • SQL計画管理(SPM)のサポート

修正された不具合

次の項では、Pro*C/C++で修正された不具合を説明します。説明の後にあるカッコ内の番号は、オラクル社のBugデータベース内のBug番号です。

Pro*C/C++リリース12.2製品で修正された不具合

  • Pro*C/C++は、timezone.pcファイルでcommon_parser=yesが設定されているときに、CSF-S-00000エラーをスローしなくなりました(9531787)

  • Pro*C/C++は、common_parser=yesが設定されているときにSelectリストでバインドが使用されていても、ORA-01008エラーをスローしなくなりました(14127422)

  • Pro*C/C++は、CASE句とTIMESTAMP関数が含まれているINSERT文に対するプリコンパイル時に、オプションUSERIDとcommon_parser=yesが指定されていても、ORA-932エラーをスローしなくなりました(14335958、19473788)

  • Pro*C/C++は、MODE=ANSIを指定していてSQLCODEを宣言していない場合のロールバック時に、SQLSTATEの設定に失敗しなくなりました(5891984)

  • Pro*C/C++は、PIC N変数に"SELECT INTO"文を使用しているときに、ORA-538976288エラーをスローしなくなりました(17189633)

  • Pro*C/C++は、レベル88で初期化された変数を含むプログラムのプリコンパイル時に、PCB-S-00400エラーをスローしなくなりました(20194289)

  • Pro*C/C++は、Solarisプラットフォーム固有のキーワード__threadの解析に失敗しなくなりました(20901503)

  • Oracle Instant ClientのPro*C/C++デモmakefileでは、ユーザーがGCCパスを指定できるようになりました(14591784)

  • Pro*C/C++は、long列からlong変数にデータをフェッチするときに、文字列を切り捨てなくなりました(13589112)

  • Pro*C/C++のNvarchar2オブジェクトは、nvarchar2データ型に正しくマップされるようになりました(11653552)

  • Pro*C/C++は、EXEC SQL OBJECT GET構文でのOCIRaw処理をサポートするようになりました(11653512)

  • Pro*C/C++には、OSDファイルのかわりに汎用のデモ・ファイルが付属するようになり、古い未使用のファイルは付属しなくなりました(9909411)

  • Pro*C/C++は、非常に長い数値の解析を処理するようになりました(9814506)

  • Pro*C/C++は、IS OF句でTYPEトークンを受け入れるようになりました(9535800)

  • Pro*C/C++は、SQL文の単一引用符間にある改行文字を正しく解釈するようになりました(9531904)

  • Pro*C/C++では、N'文字列'を含んでいるSQL文の処理時に発生していたメモリー破損の問題がなくなりました(9531638)

  • Pro*C/C++は、パーサー結合が有効化されているときに、CURSOR WITH HOLDオプションを認識するようになりました(8436316)

  • Pro*C/C++は、正しい「モード」パラメータ値をOCIStmtFetch2()に渡すようになりました(18509872)

  • Pro*C/C++は、列プロパティに割り当てられたメモリーを解放するようになりました(20051833)

  • Pro*C/C++は、表の削除時にORA-942エラーが発生した後で、ORA-1008エラーで停止しなくなりました(20029428)

  • Pro*C/C++は、統合パーサー・モードでCURSOR WITH HOLD構文を解析しているときに、PCC-S-2201エラーをスローしなくなりました(20534275)

  • Pro*C/C++は、common_parser=Noを指定したコンパイル時に、PLS-S-201エラーをスローしなくなりました(20808657)

  • Varchar構造体のLen属性が、行の一括フェッチ中に破損されなくなりました(14013076)

  • Pro*C/C++は、長いファイル名のプリコンパイル時に、セグメンテーション・フォルトをスローしなくなりました(12565588)

Pro*C/C++リリース12.1で修正された不具合

  • outlineおよびcommon_parserの両方をyesに設定してもPro*C/C++パーサーが失敗しなくなりました(12819524)

  • Pro*C/C++では、プリコンパイラ・オプションのcodeをkr_cに設定してもパブリックAPIのANSIプロトタイプが生成されなくなりました(10250555)

  • 11.2へのアップグレード後、XAアプリケーションがクラッシュしなくなりました(10086495)

  • Pro*C/C++デモ作成ファイルから、廃止されたSun SPARCコンパイラ・オプションのdalignが削除されました(9590964)

  • CHAR(5)のVARRARY(5)からのEXEC SQL COLLECTION GETが正しく動作するようになりました(9531014)

  • 64ビット・プラットフォームで、SQLSQLDAAlloc()から無効なディスクリプタ・ハンドルが返されなくなりました(9491931)

  • 11gへのアップグレード後、HP-UXでPro*C/C++がクラッシュしなくなりました(7365514)

既知の不具合

次の項では、Pro*C/C++の既知の不具合を説明します。説明の後にあるカッコ内の番号は、オラクル社のBugデータベース内のBug番号です。

Pro*C/C++リリース12.2の既知の不具合

  • オンライン・モードで、XML表から値を選択する問合せを実行しているときに、ORA-00942エラーがスローされます(9535704)

  • マクロが含まれている埋込みSQL文を実行しているときに、PCC-S-2322エラーがスローされます(9970779)

  • stdbool.hファイルにc99準拠の問題があるため、PCC-S-02201がスローされます(12866048)

  • 複数パスのファイルが正しく組み込まれるように、GCC拡張機能#include_nextの実装を変更する必要があります(21414819)

  • 特定のDDL文が不適切に解析されます(20857434)

  • DDL文"CREATE GLOBAL TEMPORARY TABLE"の解析中に、PCC-S-02201エラーがスローされます(20857400)

  • DDL文"CREATE ROLE"の解析中に、PCC-S-02201エラーがスローされます(20857370)

  • Oracle Social Networkでは、パスワードに含まれる特殊文字"@"がサポートされません(20809065)

サポート

Pro*C/C++のサポートについては、地域のOracleサポート・サービス・センターにご連絡ください。