...

Pro*C/C++ for Windows

by user

on
Category: Documents
18

views

Report

Comments

Transcript

Pro*C/C++ for Windows
Pro*C/C++ for Windows
リリース・ノート
リリース 8.1.6
2000 年 5 月
部品番号:
部品番号 J01935-01
注意: Oracle 製品をインストールまたは使用する前に、このリリース・ノートを参照してく
ださい。
注意: 本リリースにて「Windows」と記載されている内容は、特に指定がない限り
Windows NT 4.0 と Windows 2000、Windows 95、Windows 98 のすべてに該当します。
また、本リリースにて「Windows NT」と記載されている内容は、特に指定がない限
り Windows NT 4.0 と Windows 2000 の両方に該当します。
Oracle と Oracle のロゴは Oracle Corporation の登録商標です。Oracle7、Oracle8i、PL/SQL、Oracle Call Interface 、Pro*C/C++は、Oracle
Corporation の商標です。記載されているその他の製品名および社名はその製品および会社を識別する目的にのみ使用されており、それぞ
れ該当する所有者の商標です。
Copyright © 2000, Oracle Corporation
All Right Reserved
目次
使用上の注意 ......................................................................................................................... 3
はじめに......................................................................................................................... 4
マニュアルに記載されている名称について ........................................................... 4
Document CD-ROM について ................................................................................ 4
README ファイル................................................................................................. 4
英語オンライン・ドキュメントの扱いについて .................................................... 4
リリース 8.1.6 製品セット ............................................................................................. 5
Windows 2000 の対応に関して...................................................................................... 8
Windows 95 の TCP/IP サポートに関して ..................................................................... 8
Windows Terminal Server のサポートに関して ............................................................. 8
インストールの問題点および制限事項 .......................................................................... 9
Oracle Universal Installer ....................................................................................... 9
FAT および NTFS システムにおけるシステム要件.............................................. 12
Oracle Universal Installer を使用した HTTP によるインストール ....................... 12
製品の制限事項および既知の障害 ............................................................................... 13
Pro*C/C++ ............................................................................................................ 13
XA 用ヘッダー・ファイルの位置 ......................................................................... 13
Oracle Provider for OLE DB R8.1.6.0.0 ............................................................................... 14
インストール時の注意 ................................................................................................. 14
Microsoft Visual Basic 6.0 について ............................................................................. 14
Microsoft Visual C++ 6.0 について ............................................................................... 14
1. 新機能とベータ版からの改善点 .............................................................................. 14
2. ヒント、制限および既知の問題点........................................................................... 15
3. トラブルシューティング ......................................................................................... 17
2
Pro*C/C++ for Windows リリース・ノート
使用上の注意
本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。
次の事項に関し説明します。
はじめに
リリース 8.1.6 製品セット
Windows 2000 の対応に関して
Windows 95 の TCP/IP サポートに関して
Windows Terminal Server のサポートに関して
インストールの問題点および制限事項
製品の制限事項および既知の障害
使用上の注意
3
はじめに
※ 米国ではホームページ、ホワイトペーパー等で Oracle8i Release 2 と呼ばれていますが、
国内ではこれまでの呼び方との整合性を保つため、「Release 2」とは呼ばずに、「リリー
ス 8.1.6」あるいは「R8.1.6」と呼びます。
マニュアルに記載されている名称について
Oracle8i 関連マニュアルは、英語版を翻訳しているため、マニュアル中で参照されている情
報には、日本では提供されていないものも含まれます。
インターネット URL
マニュアル名
ソフトウェア名
Document CD-ROM について
『Oracle8i for Windows NT インストレーション・ガイド』の付録 E で説明されているオンラ
イン・ドキュメントの CD-ROM は日本では提供されておりません。
README ファイル
%ORACLE_HOME%¥relnotes ディレクトリには複数の製品別 README ファイルが含まれて
います。リリース・ノートにも重要な情報が記載されていますが、その他の重要な情報や関
連する情報は README ファイルに含まれています。
購入していない製品またはライセンス契約していない製品の README ファイルも含まれて
いる場合があります。README ファイルが存在したとしても、これらの製品をインストー
ルして使用できるわけではありません。
英語オンライン・ドキュメントの扱いについて
英語オンライン・ドキュメントの扱いについて
CD 媒体上の英語のドキュメントと同一のドキュメントが日本語で提供されている場合は、
日本語版を参照してください。
4
Pro*C/C++ for Windows リリース・ノート
リリース 8.1.6 製品セット
Oracle8i Client
Net8 Products
8.1.6.0.0
8.1.6.0.0
Net8 Client
8.1.6.0.0
Oracle Protocol Support
8.1.6.0.0
Oracle TCP/IP Protocol Support
8.1.6.0.0
Oracle Named Pipes Protocol Support
8.1.6.0.0
Oracle SPX/IPX Protocol Support
8.1.6.0.0
Oracle LU6.2 Protocol Support
8.1.6.0.0
Oracle Utilities
8.1.6.0.0
Oracle Performance Monitor for Windows NT
8.1.6.0.0
Oracle Database Utilities
8.1.6.0.0
SQL*Plus
8.1.6.0.0
Oracle Java Products
Oracle JDBC drivers
8.1.6.0.0
8.1.6.0.0
Oracle JDBC/OCI Driver for JDK 1.2
8.1.6.0.0
Oracle JDBC/Thin Driver for JDK 1.1
8.1.6.0.0
Oracle JDBC/Thin Driver for JDK 1.2
8.1.6.0.0
Oracle SQLJ
8.1.6.0.0
Oracle Java Tools
Development Tools
8.1.6.0.0
8.1.6.0.0
8.1.6.0.0
Oracle Call Interface (OCI)
8.1.6.0.0
Object Type Translator
8.1.6.0.0
Oracle Objects for OLE
8.1.6.3.6
Oracle Objects for OLE
8.1.6.3.7
Oracle ODBC Driver
8.1.6.0.0
Oracle Provider for OLE DB
8.1.6.0.0
Pro*C/C++
*(3)
8.1.6.0.0
Oracle JDBC/OCI Driver for JDK 1.1
Oracle Programmer
*(1)
8.1.6.0.0
Pro*COBOL
8.1.6.0.0
Pro*COBOL
1.8.51.0.
使用上の注意
5
Oracle Enterprise Manager Products
Oracle Enterprise Manager Client
2.1.0.1.0
Oracle Enterprise Manager Console
2.1.0.1.0
Oracle Enterprise Manager Integrated Applications
2.1.0.0.0
Oracle interMedia Text Manager
2.1.0.0.0
Oracle Enterprise Security Manager
2.0.0.0.0
Oracle Developer Server Forms Manager
2.1.0.0.0
Net8 Integration
8.1.6.0.0
*(4)
Oracle Application Server Manager
2.1.0.0.0
*(4)
Oracle Parallel Server Manager
2.1.0.0.0
Oracle Replication Manager
2.1.0.0.0
Oracle Spatial Index Advisor
2.1.0.0.0 Beta
Oracle Directory Server Manager
2.0.6.0.0
Oracle Applications Manager
2.1.0.0.0
Oracle Enterprise Manager Migration Assistant
2.1.0.1.0
Oracle Schema Manager
2.1.0.0.0
Oracle Storage Manager
2.1.0.0.0
Oracle Security Manager
2.1.0.0.0
Oracle Instance Manager
2.1.0.0.0
SQL*Plus Worksheet
2.1.0.0.0
Oracle DBA Studio
2.1.0.0.0
2.1.0.0.0
Oracle DBA Management Pack Quick Tour
2.1.0.0.0
Oracle Enterprise Manager Quick Tour
2.1.0.0.0
Oracle Installation Products
Oracle Universal Installer
Oracle AppWizards for Microsoft Visual Studio
Oracle AppWizard for Microsoft Visual C++
Oracle Migration Workbench
*(2)
2.1.0.1.0
Oracle DBA Management Pack
Oracle Enterprise Manager Quick Tours
6
8.1.6.0.0
8.1.6.0.0
1.7.0.19.0
8.1.6.0.0
8.1.6.0.0
*(5)
1.2.5.0.0
*(1)
MS Access Plugin
1.2.5.0.0
*(1)
MS SQL Server 6.5 Plugin
1.2.5.0.0
*(1)
MS SQL Server 7.0 Plugin
1.2.5.0.0
*(1)
Sybase Adaptive Server 11 Plugin
1.2.5.0.0
*(1)
Pro*C/C++ for Windows リリース・ノート
Oracle Services for Microsoft Transaction Server
8.1.6.0.0
Oracle Advanced Security
8.1.6.0.0
Oracle interMedia Client Option
8.1.6.0.0
Oracle Visual Information Retrieval Client
8.1.6.0.0
Oracle Internet Directory Client
2.0.6.0.0
*(3)
*(1)
備考:
コンポーネントは製品メディアに含まれる製品コンポーネント一覧を記載したもので、製品
備考
ライセンスとは対応していません。Pro*C/C++ R8.1.6 のインストールには「カスタム」インストール・
タイプを使用してください。
*(1) 日本ではサポートされていません。
*(2) このリリースでは、サポートされていません。
*(3) このコンポーネントは「Oracle8i Client」に含まれていますが、Windows NT/2000 でのみインスト
ール可能です。
*(4) このコンポーネントは「Oracle8i Client」に含まれていますが、Windows NT でのみインストール
可能です。
*(5) あらかじめ Microsoft Visual C++ 6.0 がインストールされている必要があります。
使用上の注意
7
Windows 2000 の対応に関して
Pro*C/C++ for Windows リリース 8.1.6 は、Windows 2000 に対応しています。
Windows 95 の TCP/IP サポートに関して
Oracle TCP/IP Protocol Support for Windows 95/98 は、Windows Sockets 2 インタフェースを使
用します。したがって、Windows 95 に Pro*C/C++ for Windows リリース 8.1.6 をインストー
ルする前に Windows Socket 2 Update for Windows 95 をインストールする必要があります。こ
れは、Microsoft 社の次の Web サイトからダウンロードできます。
http://www.microsoft.com/windows95/downloads
Windows Socket 2 Update for Windows 95 は、CD-ROM ルートの¥WINSOCK2 ディレクトリに
ある WS2SETUP.EXE をダブルクリックしてインストールすることも可能です。
ただし、Windows Socket 2 Update for Windows 95 の日本語版は存在しないため、TCP/IP のプ
ロパティ・ダイアログが一部英語表記になります。マイクロソフト株式会社の次の Web サイ
トからダイヤルアップ ネットワーク 1.3 アップグレードをダウンロードし、インストール
してください。
http://www.asia.microsoft.com/japan/windows/dun1_3/
日本語 Windows 95 に Windows Socket 2 Update for Windows 95 を適用した環境で、TCP/IP に
関するマイクロソフト株式会社のサポートを受けるためには、ダイヤルアップ ネットワー
ク 1.3 アップグレードを必ず適用してください。
なお、Oracle8 リリース 8.0.3 および 8.0.4 に含まれる Oracle TCP/IP Protocol Adapter は Windows
Sockets 2 インタフェースに対応していないため、リリース 8.0.3/8.0.4 のインストールされて
いるシステムに Windows Socket 2 Update for Windows 95 を適用する場合は、リリース 8.0.5
にアップグレードする必要があります。
Windows Terminal Server のサポートに関して
本リリースでは、Windows NT Terminal Server Edition はサポートされません。またターミナ
ル・サービスを構成した Windows 2000 Server 上ではサポートされますが、ターミナル・サー
ビス経由でのクライアントはサポートされません。
8
Pro*C/C++ for Windows リリース・ノート
インストールの問題点および制限事項
Oracle Universal Installer
システム PATH が 1024 文字を超える場合、Oracle 製品のインストールで PATH がリセ
ットされます。この結果、次のようなことが発生する可能性があります。
システムは起動するが他のアプリケーションが起動しない場合は、既存のシステム
PATH に必要なディレクトリを手動で追加する必要があります。
「スタート」→「設
定」→「コントロール パネル」→「システム」→「環境」をクリックし、PATH
変数を変更します。次に、「設定」→「適用」→「OK」をクリックします。
システムがリブートに失敗したり、ログオン後にブランク画面になった場合、
[Ctrl]+[Alt]+[Delete]を押してタスク マネージャにアクセスします。「アプリケー
ション」タブが表示された状態で、「新しいタスク」ボタンをクリックします。
EXPLORER.EXE または CONTROL.EXE コマンドを実行します。じきに、デスクト
ップが表示されます。「スタート」→「設定」→「コントロール パネル」→「シ
ステム」→「環境」で PATH を更新します。
ログオン画面が表示されない場合、システムを再起動します。OS Loader メニュー
(オペレーティング・システムの選択)でスペース・キーを押し、
「Last Known Good
Menu」を起動します。マルチブート・システムでも同じ方法を使用できます。ス
ペース・キーを押して Windows NT を選択します。これで「Last Known Good Menu」
が表示されます。
Oracle ホームのディレクトリ・パスにスペースは使用できません。
ユーザーが何も操作をしない場合、またはグラフィカル以外の端末を使用する場合は、
サイレント・インストールをお薦めします。この場合、ユーザーは、レスポンス・ファ
イル(ほとんどの場合、提供されています)を編集してインストールするコンポーネン
トを指定する必要があります。Oracle Universal Installer (OUI) リリース 1.7.x 以前を使
用する場合、インストール先のシステムは Windows NT のデスクトップ・システムへの
ログインが必要です。
NetWare にマウントされた CD-ROM を Windows NT にマップして Oracle Universal
Installer を実行すると、「Java Runtime Environment が<location>に見つからなかったため
Oracle Universal Installer を実行できません。」というエラーが発生する場合があります。
Novell サーバーはロング・ファイル・ネームをサポートしていないため、JRE_LOCATION
のディレクトリ・パスの位置が認識されていません(8 文字を超える名前のディレクト
使用上の注意
9
リもあります)。したがって、この構成はサポートされません。CD-ROM をローカルに
マウントするか、Windows NT サーバーにマウントしてください。
処理速度の低いコンピュータ上では、Oracle Universal Installer のロード時に画面がちら
つくことがありますが、インストールに影響はありません。
Windows NT 4.0 SP5 と ATI 社のディスプレイ・ドライバを組み合せたシステムで、Oracle
Universal Installer のダイアログを画面上で頻繁に移動させるとメモリー・ダンプが発生
することがあります。ディスプレイの解像度を低く設定すると、この現象の発生頻度が
減る場合があります。この問題はディスプレイ・ドライバの競合であり、現時点で
Windows NT のパッチはありません。
Oracle Universal Installer の「インベントリ」ウィンドウから表示される「ヘルプ」ウィ
ンドウは、2 度目にアクセスしたときからスクロールやサイズ変更ができなくなること
があります。回避策は、「インベントリ」ウィンドウを閉じることです。「ヘルプ」ウ
ィンドウはアクセス可能です。「ヘルプ」ウィンドウのサイズを変更してから閉じてく
ださい。次に「インベントリ」ウィンドウから「ヘルプ」ウィンドウを呼び出したとき
には、そのサイズで表示されます。
Oracle8i 製品をデュアル・ブート・システムにインストールした場合、ソフトウェアは
両方のオペレーティング・システムの同一の物理領域を使用します。したがって、削除
など、片方のオペレーティング・システム上で実行された作業は、もう片方のオペレー
ティング・システムにも影響します。
この現象は、次の手順を実行して回避できます。
1.
Oracle8i リリース 8.1.6 製品を最初の環境にインストールします。
2.
2 つ目の環境にインストールする前に、Oracle Universal Installer からインベントリ
位置を尋ねられた際にデフォルト以外の位置を用意します。2 つめの環境インベン
トリは最初のインベントリとは独立したものになり、両方のシステム上に別個に製
品をインストールまたは削除できます。
Java Runtime Environment(JRE)1.1.7.24 を使用する Oracle8i リリース 8.1.6 製品を、JRE
1.1.7.5 を使用する Oracle8i リリース 8.1.5 製品のインストールされているコンピュータ
上にインストールすると、JRE は 1.1.7.24 に更新されます。
ただし、Oracle8i リリース 8.1.5(または Oracle Enterprise Manager リリース 2.0)をイン
ストールしてから Oracle8i リリース 8.1.6 を Oracle Enterprise Manager リリース 2.1 とと
もにインストールすると、JRE は Oracle Universal Installer の不具合により、1.1.7.5 に更
新されます。この場合、Oracle8i リリース 8.1.6 と Oracle Enterprise Manager リリース 2.1
は、JRE 1.1.7.5 に対して実行することになります。JRE 1.1.7.24 は、Oracle8i リリース
10
Pro*C/C++ for Windows リリース・ノート
8.1.6 の CD-ROM から「カスタム」のインストール・タイプを使用して再インストール
できます。
Oracle Provider for OLE DB は、COM コンポーネントであり、複数 Oracle ホーム対応で
はありません。1 台のコンピュータに同時に存在できるのは、Oracle Provider for OLE DB
の 1 つのバージョンのみです。
ベータ版の Oracle Provider for OLE DB がインストールされている場合は、削除してから
新しいプロバイダを再インストールしてください。
Oracle Universal Installer は、Microsoft の再配布可能システム・ファイルを必要に応じて
インストールまたは新しいバージョンに更新します。古いバージョンのファイルは
<filename>.dll.old に改名されます。また、再配布可能ファイルには読取り専用属性が設
定されている場合があります。今回のリリースの Oracle Universal Installer は、読取り専
用の設定がされている場合、または<filename>.dll.old ファイルがすでにシステムに存在
している場合に、ファイルの更新を実行できずにエラーとなります。さらに、1つの再
配布可能ファイルの更新ができない場合、他のファイルのコピーがスキップされる可能
性があります。インストール前にファイル属性と<filename>.old ファイルの存在を確認
することをお薦めします。
msvcrt.dll
msvcirt.dll
msvcrt40.dll
oleaut32.dll
olepro32.dll
mfc40.dll
mfc42u.dll
mfc42.dll
Novell Client for Windows NT がインストールされているマシンにインストールする場合、
インストールが終了しないにもかかわらず Oracle Universal Installer が終了してしまう
ことがあります。
Windows 95/98 で autoexec.bat 内の path にマルチバイト文字が含まれている環境にイン
ストールを行うと、マルチバイト文字の部分が文字化けします(Bug#1259693)。次の
いずれかの方法で対処してください。
1.
インストールを実行する前に、path からマルチバイト文字を削除しておく。
使用上の注意
11
2.
インストールを実行した後に、バックアップ・ファイル(autoexec.bat.old0)を戻
して%ORACLE_HOME%¥bin を path に追加する。
FAT および NTFS システムにおけるシステム要件
FAT および NTFS システムの領域割当ての違いにより、システム要件も異なります。FAT フ
ァイル・システムでは、Oracle Universal Installer がインストール・タイプごとに報告する必
要領域の計算値は正しくありません。
各インストール・タイプに必要な領域量の正しい値を次表に示します。示した値は FAT パー
ティションでは 32K のデフォルトのブロック・サイズ、NTFS パーティションでは 2K のデ
フォルトのブロック・サイズでインストールした場合の値です。
Oracle8i Client
インストール・
インストール・
タイプ
RAM
ハード・ディスク
ハード・ディスク
FAT
ハード・ディスク
ハード・ディスク
NTFS
システム・ドライブ
システム・ドライブ
のハード・ディスク
のハード・ディスク
管理者
64MB
678MB
236MB
19MB
プログラマ
32MB
164MB
102MB
16MB
アプリケーショ
ン・ユーザー
32MB
93MB
48MB
16MB
Oracle Universal Installer を使用した HTTP によるインストール
Oracle Universal Installer は、Oracle コンポーネントの HTTP によるインストールをサポート
しますが、1 つ制限があります。「管理者」、「プログラマ」、「アプリケーション・ユー
ザー」および「カスタム」インストールの最後に構成ツールは自動起動しません。かわりに
次の手順を実行してください。
1.
インストールの最後に Oracle Universal Installer を終了します。
2.
Oracle Database Configuration Assistant と Net8 Configuration Assistant を別々に実行します。
この制限は、将来のリリースで修正される予定です。
12
Pro*C/C++ for Windows リリース・ノート
製品の制限事項および既知の障害
既知の障害および制限事項については、各製品の README ファイルも必ずお読みください。
Pro*C/C++
製品の demo プログラムおよびファイルは参考用です。そのままでは動作しないものがあり
ます。デフォルトでは、サンプルの.PRE ファイルは、対応する.PC ファイルを
C:¥ORACLE¥ORA81 ディレクトリ(C:¥は使用しているドライブ、ORACLE¥ORA81 は Oracle
ホームの位置)で検索します。使用しているコンピュータの Oracle ベースと Oracle ホーム
のディレクトリが異なる場合は、ディレクトリ・パスを正しいパスに変更する必要がありま
す。
サンプルの.PRE ファイルのディレクトリ・パスを変更するには、次の手順を実行します。
1.
Pro*C/C++で、.PRE ファイルをオープンします。
2.
「入力ファイル」領域でファイル名をダブルクリックします。
「入力ファイル」ダイアログ・ボックスが表示されます。
3.
正しいディレクトリ・パスに変更します。
4.
「開く」をクリックします。
XA 用ヘッダー・ファイルの位置
用ヘッダー・ファイルの位置
『Oracle コール・インタフェース for Windows スタート・ガイド』および『Pro*C/C++ for
Windows プリコンパイラ・スタート・ガイド』では、XA 用ヘッダー・ファイル
は %ORACLE_HOME%¥rdbms¥xa にあると説明されています。しかし実際にこのファイル
がインストールされるのは、%ORACLE_HOME%¥rdbms¥demo ディレクトリです。
使用上の注意
13
Oracle Provider for OLE DB R8.1.6.0.0
注意: Oracle Provider for OLE DB は Windows 95 ではサポートされません。
インストール時の注意
OraOLEDB プロバイダは COM コンポーネントであり、複数 ORACLE ホームの機能に対応し
た製品ではありません。1 つのコンピュータには 1 バージョンのみ OraOLEDB はインストー
ル可能です。
マシンに OraOLEDB プロバイダのベータ版がインストールされているときは、それを削除し
てから新しい OraOLEDB を再インストールしてください。
Microsoft Visual Basic 6.0 について
「プロジェクト」→「参照設定」に、 Microsoft ActiveX Data Objects および Microsoft ActiveX
Data Objects Recordset ライブラリをインクルードする必要があります。
Microsoft Visual C++ 6.0 について
VC++プロジェクトの適切な.cpp ファイルに、OraOLEDB.h をインクルードする必要がありま
す。また、プロジェクトの.cpp ファイルの 1 つに#define DBINTCONSTANTS を追加する必要
があります。
1. 新機能とベータ版からの改善点
1.1 JOIN を使用して作成される ADO 行セットが、更新可能になりました。現時点では、こ
の機能は ADO クライアント・カーソル行セットでのみ使用可能です。
例を次に示します。
Dim objCon As New ADODB.Connection
Dim objRst As New ADODB.Recordset
objCon.Provider = "OraOLEDB.Oracle"
objCon.Open "db815", "scott", "tiger"
14
Pro*C/C++ for Windows リリース・ノート
objRst.CursorLocation = adUseClient
'ADO Client Cursor
objRst.Open "select ename, dname " & _
"from emp, dept " & _
"where emp.deptno = dept.deptno", _
objCon, adOpenStatic, adLockOptimistic, adCmdText
作成された行セットは更新可能です。この JOIN 行セットを更新可能にするために、
CursorLocation が明示的に adUseClient に設定される必要があります。
1.2 CursorLocation が適切に adUseClient(Client Cursor)に設定されていると、ADO 行セッ
トは非スカラー列(LOB 型/LONG 型)に対する書込み操作を実行できます。この機能
は、初期にはサーバー・カーソル行セット(adUseServer)でのみ使用可能でした。
1.3 ADO 行セット・プロパティの CacheSize はサーバー・カーソル行セットによってサポー
トされるようになりました。このプロパティによって、ADO プログラマはデータベー
スからフェッチされた多数の行を、一度に制御可能です。プロバイダでは、FetchSize
レジストリと ConnectionString 属性によって、これまでもこの機能を使用できました。
Oracle Provider for OLE DB のマニュアルを参照してください。CacheSize は、設定され
ると FetchSize の設定をオーバーライドします。しかし、その値が無効な場合(< 1)は、
プロバイダは FetchSize を使用してフェッチ配列のサイズを設定します。ADO コマンド
によって、LOB 型列を挿入/更新する INSERT/UPDATE SQL が可能になり、これによっ
てコマンド・オブジェクトはすべてのスカラー列および非スカラー列をサポートしてい
ます。
2. ヒント、制限および既知の問題点
2.1 パフォーマンスの向上のためには、LONG 列または LONG RAW 列に ADO メソッド
AppendChunk を使用しないでください。かわりに、ADO AddNew メソッドまたは ADO
Update メソッドを使用して、LONG 列または LONG RAW 列全体を挿入または更新して
ください。
2.2 ローカル・トランザクションまたはグローバル・トランザクションの実行中は、コマン
ド・インタフェースを使用する COMMIT、ROLLBACK または SAVEPOINT の SQL を
実行しないでください。それらは行セットのデータ一貫性に影響を与える可能性があり
ます。同じことが、明示的なトランザクション・モードでは DDL(CREATE TABLE、
ALTER VIEW 等)にも当てはまります。Oracle の DDL はデータベースに対して暗黙的
コミットを実行するためです。自動コミット・モードでのみ DDL を実行してください。
2.3 Oracle データベース内のすべての名前(表、列、ビュー、など)は大文字、小文字を区
別します。これによって、EMP と emp という 2 つのオブジェクトがデータベースの同
Oracle Provider for OLE DB R8.1.6.0.0
15
じ名前領域に存在できます。また、SQL 文に記述したすべてのオブジェクト名は大文字
に変換されるということにも気を付ける必要があります。SELECT ename FROM emp と
いう問合せは、データベース内の表名が EMP(すべて大文字)でも正しく実行されま
す。ただし、大文字、小文字の混在したオブジェクト名を指定する必要がある場合は、
その名前を二重引用符で囲むことで可能になります。
例を次に示します。
SELECT ename
FROM "Emp"
データベースの表名が Emp の場合、正しく実行されます。二重引用符によって、Oracle
内のオブジェクト名の大文字、小文字の区別が保存されます。
2.4 OraOLEDB ドライバでオプティマイザのヒント構文として、/*+ ... */を使用します。ヒ
ント構文--+ ...は現在はサポートされません。
2.5 疑似列 LEVEL、ROWID、ROWNUM および SQL 関数 SYSDATE、UID、USER は、誤
って更新可能のように表示される可能性があります。ユーザー定義による引数のない
SQL 関数の場合にも、同じ事が起きる可能性があります。
2.6 BFILE データ型の列は、行セット・インタフェース中では更新できません。しかし、そ
のような列も、BFILE 列によってポイントされているディレクトリおよび外部ファイル
の名前の変更に限った更新は、コマンド・インタフェースで更新可能です。
例を次に示します。
INSERT INTO topomaps (areanum, topomap)
VALUES (158, BFILENAME('mapdir', 'topo158.tps'))
2.8 現在、プロバイダは、Oracle8i オブジェクト・データ型をサポートしていません。
2.9 オーバーロードされた PL/SQL のストアド・プロシージャおよびストアド・ファンクシ
ョンに対しては、PROCEDURE_PARAMETERS スキーマ行セットは最初にオーバーロ
ードされた PL/SQL のストアド・プロシージャ/ファンクションにのみパラメータ情報を
返します。これは、現在の OLE DB の仕様に、オーバーロードされたプロシージャ/フ
ァンクションに対する規定がないためです。
2.10 現在、コマンド・オブジェクトは、同時に複数の行の LOB を更新すると、エラーにな
ります。
例を次に示します。
UPDATE SomeTable SET LobCol = ?WHERE ...
16
Pro*C/C++ for Windows リリース・ノート
この文は、UPDATE 文が表の複数の行に影響する場合はエラーになります。この制限は、
LOB 型(BLOB/CLOB)にのみ適用され、LONG 型(LONG/LONG RAW)には適用さ
れません。
2.11 多くの LOB 書き込み操作(INSERT および UPDATE)はプロバイダ内で複数の書き込
み操作と関係するため、そのような操作にはトランザクションを使用可能にすることを
お薦めします。トランザクションを使用可能にすることで、なんらかの障害が発生した
場合、コンシューマは書き込み操作全体をロールバックできます。コマンド・オブジェ
クトまたは行セット・オブジェクトから LOB を書込む場合に、お薦めします。
2.12 現在、プロバイダは Oracle データベース・リンクをサポートしていません。
2.13 ADO メソッド GetChunk()を使用して、ADO クライアント・カーソル行セット用の LOB
列および LONG 列からデータを読み込みます。rst("LOB_COLUMN").Value は、そのよ
うな列に対してすべてのデータを返さない可能性があります。この制限は ADO サーバ
ー・カーソル行セットには拡張されず、どちらのメソッドも期待どおりに機能します。
2.14 OLE DB プロパティの CONNECTIONSTATUS は、接続の状態を正確に反映しているわ
けではありません。
3. トラブルシューティング
OraOLEDB には、デバッグのためにインタフェース・コールのトレース機能があります。こ
れは、お客様の問題をデバッグするためにオラクル社カスタマ・サポート・センターを支援
する機能です。
プロバイダを構成して、次の情報を記録するようにできます。
a.
b.
OLE DB インタフェース・メソッドの最初と最後で、次の情報を記録します。
1.
供給されるパラメータ値(メソッドの最初)
2.
戻り値 HRESULT(メソッドの最後)
3.
スレッド ID(メソッド最初および最後)
グローバル・トランザクションの登録および登録解除の際に、次の情報を記録します。
1.
セッション・オブジェクト情報
2.
トランザクション ID
トレースは、次のレジストリ値を使用して構成できます。
a.
¥¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥OLEDB¥TraceFileName
Oracle Provider for OLE DB R8.1.6.0.0
17
有効値: すべての有効なパスおよびファイル名
TraceFileName には、トレース情報ログを記録するためのファイル名を指定します
TraceOption に 0 が設定されている場合は、その名前はそのままで使用されます。しか
し、TraceOption が 1 の場合は、その名前にスレッド ID が追加されます。詳細は、後述
の TraceOption を参照してください。
b.
¥¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥OLEDB¥TraceCategory
有効値:
0 = なし
1 = OLEDB インタフェース・メソッドの最初
2 = OLEDB インタフェース・メソッドの最後
4 = グローバル・トランザクションの登録および登録解除
TraceCategory は、トレースする情報を指定します。異なるトレース・カテゴリを組み合
せる場合は、それらの有効値を加算します。たとえば、すべてのインタフェース・メソ
ッドの最初と最後をトレースするときは TraceCategory を 3 に設定します。
c.
¥¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥OLEDB¥TraceLevel
有効値:
0 = なし
1 = データ・ソース・オブジェクト
2 = セッション・オブジェクト
4 = コマンド・オブジェクト
8 = 行セット・オブジェクト
16 = エラー・オブジェクト
TraceLevel は、トレースする OLE DB オブジェクトを指定します。すべての OLE DB オ
ブジェクトの最初と最後を追跡すると処理が過剰になる可能性があるため、1 つまたは
複数の OLE DB オブジェクトに限ってトレースするために TraceLevel があります。複数
のオブジェクトをトレースするときは、それぞれの有効値を加算します。たとえば、
TraceLevel に 12、TraceCategory に 3 が設定されているときは、トレース・ファイルに
はコマンド・オブジェクトおよび行セット・オブジェクトの、メソッドの最初と最後の
データのみが含まれます。
18
Pro*C/C++ for Windows リリース・ノート
グローバル・トランザクションの登録および登録解除のトレース情報を得るときは、セ
ッション・オブジェクトのトレースが指定されている必要があります。
d.
¥¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥OLEDB¥TraceOption
有効値:
0 = 単一のトレース・ファイル
1 = 複数のトレース・ファイル
TraceOption は、スレッド ID ごとのトレース情報ログを複数のファイルに記録するか 1 つの
ファイルに記録するかを指定します。単一のトレース・ファイルが指定されると、
TraceFileName に指定されたファイル名が使用されます。複数のトレース・ファイルが要求
されると、指定されたファイル名にスレッド ID が追加されて、スレッドごとのトレース・
ファイルが作成されます。
Oracle Provider for OLE DB R8.1.6.0.0
19
Fly UP