oracle objects for ole for windows4 oracle objects for ole for windows リリース・ノート...

42
Oracle Oracle のロゴは Oracle Corporation の登録商標です。Oracle7Oracle8iPL/SQLOracle Objects for OLE は、Oracle Corporation の商標です。記載されているその他の製品名および社名はその製品および会社を識別する目的にのみ使用されており、それぞれ該当する所 有者の商標です。 Copyright © 2000, Oracle Corporation All Right Reserved Oracle Objects for OLE for Windows リリース・ノート リリース 8.1.6.3.7 2000 5 部品番号 部品番号 部品番号 部品番号: J01934-01 注意: Oracle 製品をインストールまたは使用する前に、このリリース・ノートを参照してく ださい。 注意: 本リリースにて「Windows」と記載されている内容は、特に指定がない限り Windows NT 4.0 Windows 2000Windows 95Windows 98 のすべてに該当します。 また、本リリースにて「Windows NT」と記載されている内容は、特に指定がない限 Windows NT 4.0 Windows 2000 の両方に該当します。 Oracle Objects for OLE R8.1.6.3.7 Net8 R8.1.6 環境用ですが、Net8 R8.1.5 環境でも利用可能 です。

Upload: others

Post on 08-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracleと Oracleのロゴは Oracle Corporationの登録商標です。Oracle7、Oracle8i、PL/SQL、Oracle Objects for OLEは、Oracle Corporation

の商標です。記載されているその他の製品名および社名はその製品および会社を識別する目的にのみ使用されており、それぞれ該当する所有者の商標です。

Copyright © 2000, Oracle Corporation

All Right Reserved

Oracle Objects for OLE for Windows

リリース・ノート

リリース 8.1.6.3.7

2000年 5月

部品番号部品番号部品番号部品番号: J01934-01

注意: Oracle製品をインストールまたは使用する前に、このリリース・ノートを参照してください。

注意: 本リリースにて「Windows」と記載されている内容は、特に指定がない限りWindows NT 4.0 と Windows 2000、Windows 95、Windows 98 のすべてに該当します。また、本リリースにて「Windows NT」と記載されている内容は、特に指定がない限りWindows NT 4.0 と Windows 2000 の両方に該当します。

Oracle Objects for OLE R8.1.6.3.7は Net8 R8.1.6環境用ですが、Net8 R8.1.5環境でも利用可能です。

Page 2: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

2 Oracle Objects for OLE for Windows リリース・ノート

目次目次目次目次

使用上の注意 ......................................................................................................................... 4

はじめに......................................................................................................................... 5

マニュアルに記載されている名称について ........................................................... 5

Document CD-ROMについて ................................................................................ 5

READMEファイル................................................................................................. 5

英語オンライン・ドキュメントの扱いについて .................................................... 5

リリース 8.1.6製品セット ............................................................................................. 6

Windows 2000の対応に関して...................................................................................... 9

Windows 95の TCP/IPサポートに関して ..................................................................... 9

Windows Terminal Serverのサポートに関して ............................................................. 9

インストールの問題点および制限事項 ........................................................................ 10

Oracle Universal Installer ..................................................................................... 10

FATおよび NTFSシステムにおけるシステム要件.............................................. 13

Oracle Objects for OLE(OO4O)R8.1.6.3.7 ...................................................................... 14

システム要件................................................................................................................ 14

リリース 8.1.6.3.7のインストール .............................................................................. 14

インストール手順................................................................................................. 14

インストール時の注意 ......................................................................................... 15

日本語ヘルプ・ファイル.............................................................................................. 15

一般情報および依存性 ................................................................................................. 15

このリリースの内容 ..................................................................................................... 16

新機能 .......................................................................................................................... 16

サンプル・ファイル ..................................................................................................... 17

Long/Long Raw型の BLOB、CLOBまたは BFILE型への移行の推奨......................... 17

スタート・ガイド ........................................................................................................ 18

Page 3: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

目次 3

C++サンプル・アプリケーションのビルド.................................................................. 18

empedt32 ............................................................................................................. 18

インストールのレイアウト .......................................................................................... 19

再配布可能ファイル ..................................................................................................... 19

既知の問題 ................................................................................................................... 19

Oracle In-Process Server ..................................................................................... 20

Oracleデータ・コントロール .............................................................................. 24

Oracleクラス・ライブラリ.................................................................................. 28

IIS/ASP................................................................................................................. 29

Oracle Objects for OLEでの非同期処理 ...................................................................... 30

非ブロック・モードの設定 .................................................................................. 31

非ブロック・モードのリセット ........................................................................... 31

非ブロック処理の状態確認 .................................................................................. 31

非ブロック操作の取消し ...................................................................................... 31

制限事項 ............................................................................................................... 32

例 ..................................................................................................................... 32

非同期モードにおける複数の問合わせの実行例 .................................................. 32

付録 ............................................................................................................................. 33

CreateSQLメソッド ............................................................................................ 33

NonBlockingStateメソッド.................................................................................. 35

Cancelメソッド ................................................................................................... 35

新規エラー・メッセージ ...................................................................................... 36

Oracle Provider for OLE DB R8.1.6.0.0 ............................................................................... 37

インストール時の注意 ................................................................................................. 37

Microsoft Visual Basic 6.0について ............................................................................. 37

Microsoft Visual C++ 6.0について ............................................................................... 37

1. 新機能とベータ版からの改善点 .............................................................................. 37

2. ヒント、制限および既知の問題点........................................................................... 38

3. トラブルシューティング ......................................................................................... 40

Page 4: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

4 Oracle Objects for OLE for Windows リリース・ノート

使用上の注意使用上の注意使用上の注意使用上の注意

本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。

次の事項に関し説明します。

はじめに

リリース 8.1.6製品セット

Windows 2000の対応に関して

Windows 95の TCP/IPサポートに関して

Windows Terminal Serverのサポートに関して

インストールの問題点および制限事項

Page 5: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

使用上の注意 5

はじめにはじめにはじめにはじめに

※ 米国ではホームページ、ホワイトペーパー等で 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媒体上の英語のドキュメントと同一のドキュメントが日本語で提供されている場合は、日本語版を参照してください。

Page 6: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

6 Oracle Objects for OLE for Windows リリース・ノート

リリースリリースリリースリリース 8.1.6製品セット製品セット製品セット製品セット

Oracle8i Client 8.1.6.0.0

Net8 Products 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 *(1)

Oracle Utilities 8.1.6.0.0

Oracle Performance Monitor for Windows NT 8.1.6.0.0 *(3)

Oracle Database Utilities 8.1.6.0.0

SQL*Plus 8.1.6.0.0

Oracle Java Products 8.1.6.0.0

Oracle JDBC drivers 8.1.6.0.0

Oracle JDBC/OCI Driver for JDK 1.1 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 8.1.6.0.0

Oracle Programmer 8.1.6.0.0

Development Tools 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 *(6)

Oracle ODBC Driver 8.1.6.0.0

Oracle Provider for OLE DB 8.1.6.0.0

Pro*C/C++ 8.1.6.0.0

Pro*COBOL 8.1.6.0.0

Pro*COBOL 1.8.51.0.

Page 7: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

使用上の注意 7

Oracle Enterprise Manager Products 8.1.6.0.0

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 *(2)

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 DBA Management Pack 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

Oracle Enterprise Manager Quick Tours 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 8.1.6.0.0

Oracle Universal Installer 1.7.0.19.0

Oracle AppWizards for Microsoft Visual Studio 8.1.6.0.0

Oracle AppWizard for Microsoft Visual C++ 8.1.6.0.0 *(5)

Oracle Migration Workbench 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)

Page 8: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

8 Oracle Objects for OLE for Windows リリース・ノート

Oracle Services for Microsoft Transaction Server 8.1.6.0.0 *(3)

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 *(1)

Oracle Internet Directory Client 2.0.6.0.0

備考備考備考備考: コンポーネントは製品メディアに含まれる製品コンポーネント一覧を記載したもので、製品ライセンスとは対応していません。

*(1) 日本ではサポートされていません。

*(2) このリリースでは、サポートされていません。

*(3) このコンポーネントは「Oracle8i Client」に含まれていますが、Windows NT/2000でのみインストール可能です。

*(4) このコンポーネントは「Oracle8i Client」に含まれていますが、Windows NTでのみインストール可能です。

*(5) あらかじめMicrosoft Visual C++ 6.0がインストールされている必要があります。

*(6) Oracle Objects for OLE 8.1.6.3.7のインストール方法は本リリース・ノートを参照してください。

Page 9: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

使用上の注意 9

Windows 2000の対応に関しての対応に関しての対応に関しての対応に関して

Oracle Objects for OLE 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に Oracle Objects for OLE 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上ではサポートされますが、ターミナル・サービス経由でのクライアントはサポートされません。

Page 10: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

10 Oracle Objects for OLE 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文字を超える名前のディレクト

Page 11: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

使用上の注意 11

リもあります)。したがって、この構成はサポートされません。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 リリース

Page 12: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

12 Oracle Objects for OLE 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からマルチバイト文字を削除しておく。

Page 13: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

使用上の注意 13

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

Page 14: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

14 Oracle Objects for OLE for Windows リリース・ノート

Oracle Objects for OLE((((OO4O))))R8.1.6.3.7

システム要件システム要件システム要件システム要件

1. Windows NT 4.0、Windows 95またはWindows 98を実行している Intelベースの PC。

2. 486-50MHz以上のプロセッサ(Pentiumを推奨)。

3. 8 MBのメモリー(16 MBを推奨)。

4. OO4Oのプログラム・ファイル用に 10 MBの空き領域。

5. 使用する最大のダイナセットと同じサイズのローカル・キャッシュ作成に十分な空きディスク容量。スワップ・パーティションには、約 10MBの空きディスク容量を推奨しています。

6. OLEスクリプト機能対応の 32ビット・アプリケーション(Visual Basic 4.0/5.0/6.0、Excel

95/97など)、またはサポートしている C++コンパイラ対応の 32ビット・アプリケーション(Microsoft Visual C++ 6.x)。

7. ローカル接続または Net8 Clientを使用したネットワークによる、Oracleデータベースへのアクセス。

リリースリリースリリースリリース 8.1.6.3.7のインストールのインストールのインストールのインストール

インストール手順インストール手順インストール手順インストール手順

この CD-ROMには、リリース 8.1.6.3.7が含まれます。インストールは以下の手順に従ってください。

1. すべてのアプリケーションを終了し、以前のリリースの Oracle Objects for OLEを削除します。

2. 「スタート」→「プログラム」→「Oracle Installation Products」→「Universal Installer」を選択し、Oracle Universal Installerを起動します。

3. 「ファイルの場所」画面の「ソース」に次のディレクトリを指定します。「インストール先」には Oracle8i リリース 8.1.6製品をインストールした Oracleホームを指定します。

Page 15: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 15

その後は画面の指示に従ってインストールを実行します。<CD-ROM ROOT>:¥oo4o81637¥products.jar

インストール時の注意インストール時の注意インストール時の注意インストール時の注意

Oracle Objects for OLEは、複数 ORACLEホームの機能に対応した製品ではありません。1つのコンピュータには 1つのバージョンのみインストール可能です。

一部のWindows 95マシンではOracle Objects for OLEのデータ・コントロールが正しく登録されないことがあります。この問題は古いバージョンのMFCランタイム・モジュール(MFC42.DLL)がインストールされているシステムで発生します。OUIの実行中にこのモジュールが使用中である場合、 システムを再起動するまでモジュールの更新は実行されません。モジュールのバージョンが Oracle Objects for OLEで必要とされる6.00.8447.0より古い場合、システムの再起動後、MFC42.DLLが適切なバージョンであることを確認し、Oracle Objects for OLEのデータ・コントロールを登録してください。これには次を「コマンド プロンプト」より実行します。

REGSVR32 %ORACLE_HOME%¥BIN¥ORADC.OCX

%ORACLE_HOME%は Oracle Objects for OLEのインストールされている Oracleホームです。

日本語ヘルプ日本語ヘルプ日本語ヘルプ日本語ヘルプ・ファイル・ファイル・ファイル・ファイル

<CD-ROM ROOT>:¥oo4o_Helpに日本語のオンライン・ヘルプ・ファイルがあります。これらは%ORACLE_HOME%¥MSHELPディレクトリに格納されているファイルの日本語版です。手動でコピーしてください。ヘルプ・ファイルのバージョンは 8.1.6.3.6です。

一般情報および依存性一般情報および依存性一般情報および依存性一般情報および依存性

このリリースは、32ビット・バージョンの Oracle Objects for OLEであり、Windows NT、Windows 95およびWindows 98上で動作します。

クラス・ライブラリはMicrosoft Visual C++バージョン 6.x用に提供されています。このリリースで提供される C++ クラス・ライブラリに関する情報は、このリリース・ノートの「Oracle

クラス・ライブラリ」を参照しください。

Page 16: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

16 Oracle Objects for OLE for Windows リリース・ノート

このリリースの内容このリリースの内容このリリースの内容このリリースの内容

Windows NT、Windows 95およびWindows 98用 32ビット・インプロセスOLE AutomationServer

Microsoft MFC 6.x用 32ビット・クラス・ライブラリ

Windows NT、Windows 95およびWindows 98用 32ビット Oracleデータ・コントロール(.OCX)

新機能新機能新機能新機能

非同期実行がサポートされ、SQL文および PL/SQLブロックの非ブロック・モードでの実行ができるようになりました。

OraDynasetオブジェクトで GetRowsメソッドを使って、一度に複数の行を配列にフェッチでき、パフォーマンスが向上しています。

Iteratorメソッドが OraCollectionに追加され、パフォーマンスが向上しています。

新しい 8.1.6 C++クラス・ライブラリには次の機能があります。

データベース接続とユーザー・セッションの効率的な管理をサポート(接続の多重化)

OraDatabaseレベルでのトランザクション・コントロールの拡張サポート

アドバンスト・キューイング・サポート(OAQ、OAQAgentおよび OAQMsgの各オブジェクト)

OMetaDataおよび OMDAttribute(スキーマ・オブジェクト記述用インタフェース)

スナップショット・ベースのダイナセットのサポート

Microsoft Transaction Server(MTS)における OLE固有のトランザクション・プロトコルのサポート

アクセスや操作が簡単な新しいタイプの Oracle8iでの導入

OBlob(バイナリ・ラージ・オブジェクト)

OClob(キャラクタ・ラージ・オブジェクト)

OBFile(外部バイナリ・ラージ・オブジェクト)

Page 17: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 17

ORef(Oracle8iオブジェクト参照 - REF)

OObject(値インスタンス)

OCollection(VARRAY、NESTED TABLE)

これらの新しい機能やオブジェクトの詳細は、オンライン・ヘルプとサンプル・ファイルを参照してください。以前のバージョンの既存の機能もサポートされるように配慮されています。

サンプルサンプルサンプルサンプル・ファイル・ファイル・ファイル・ファイル

C++クラス・ライブラリやスレッド・セーフティ機能の使用方法を示すサンプルや、Internet

Information Server環境で OO4Oを使用するためのサンプルが追加されています。C++の例は%ORACLE_HOME%¥OO4O¥CPP¥WORKBOOK¥ディレクトリに、IISのサンプルは%ORACLE_HOME%¥OO4O¥IIS¥ディレクトリにあります。Visual Basicのサンプルは%ORACLE_HOME%¥OO4O¥VBディレクトリにあります。

%ORACLE_HOME%¥OO4O¥CPP¥WORKBOOK¥にある CPPの新しいサンプルを次に示します。

AQ

LOB

Metadata

OBJECTS

VARRAY

Long/Long Raw型の型の型の型の BLOB、、、、CLOBまたはまたはまたはまたは BFILE型への移行の推奨型への移行の推奨型への移行の推奨型への移行の推奨

Oracle8iでは、BLOB、CLOBおよび BFILEという新しいデータ型が導入されています。Oracle

Objects for OLEはデータ型の設計により Longや Long Rawよりもはるかに高速にこれらのデータ型にアクセスできます。このため、既存の Long Rawベースのアプリケーションは、BLOB、CLOBおよび BFILEに変換することをお薦めします。新規アプリケーションでは、Long Raw

ではなく BLOB、CLOBおよび BFILEを使用してください。

この移行は、必要とされるコードの変更が少なく比較的容易に実行できます。これは、従来Longおよび Long Raw操作に使用されていたメソッドが、BLOB、CLOBおよび BFILEに対しても同様に使用できるように拡張されたためです。該当するメソッドには、AppendChunk、AppendChunkByte、GetChunk、GetChunkByte、GetChunkByteEx、ReadChunkがあります。主

Page 18: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

18 Oracle Objects for OLE for Windows リリース・ノート

なコード変更は、NULL BLOBおよび CLOBを使用する前に Emptyで更新する必要があります。

注意: 柔軟性を最大限にするために、新規アプリケーションではこれらの Chunkメソッドのかわりに、通常の BLOB/CLOB/BFILEの ReadメソッドおよびWriteメソッドを使用してください。

スタートスタートスタートスタート・ガイド・ガイド・ガイド・ガイド

オンライン・ヘルプに記載されている「OO4Oオートメーション・サーバーを使い始める前に」の項を読み、製品とともにインストールされるサンプル・プログラムを試してください。また、オンライン・ヘルプには、VBアプリケーションにカットアンドペーストし、順を追って実行できるコード例へのリンクが数多く含まれています。

Visual Basic 6.0ではメニューから「プロジェクト」→「参照設定」を選択して、OO4Oタイプ・ライブラリをロードできます。ライブラリ名は OIP8.TLBです。その後、メニューから「表示」→「オブジェクト・ブラウザ」を選択して、OO4Oオブジェクトをブラウズできます。データ・コントロールは、メニューから「プロジェクト」→「コンポーネント」を選択して追加できます。データ・コントロール名は、ORADC.OCXです。

ASPでは、%ORACLE_HOME%¥oo4o¥Iis¥Samples¥ASP¥ConnPoolディレクトリにあるサンプルを試すことができます。

C++サンプルサンプルサンプルサンプル・アプリケーションのビルド・アプリケーションのビルド・アプリケーションのビルド・アプリケーションのビルド

ORACLM32.LIBがライブラリ・リスト(「リンク」タブの下)にリストされていることを確認します。ORACL.Hと ORACLM32.LIBがパスにあることを確認します。必要に応じて、サンプルで指定されている接続文字列とユーザー名を変更します。

empedt32

このプログラムは、Visual C++ 5.0用に作成されており、デフォルトでは omfc50.libを使用してリンクするように設定されています。Visual C++ 6.0でビルドする場合、omfc60.libに設定しなおす必要があります。変更は以下の手順で実行します。

1. Visual C++ 6.0のメニューから「プロジェクト」→「設定」を選択します。「プロジェクトの設定」ダイアログが表示されます。

2. 「リンク」タブを開きます。

Page 19: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 19

3. 「オブジェクト/ライブラリ モジュール」フィールドに omfc50.libが指定されています。これを omfc60.libに変更してください。

インストールのレイアウトインストールのレイアウトインストールのレイアウトインストールのレイアウト

標準インストールの一部として次のディレクトリが作成され、対応するファイルが格納されます。

%ORACLE_HOME%¥MSHELP - Oracle Objects for OLEのオンライン・ヘルプ

%ORACLE_HOME%¥OO4O - SQLスクリプトおよび定数ファイル

%ORACLE_HOME%¥OO4O¥CPP - ライブラリ、インクルード・ファイル、DLL、クラス・ライブラリのソース

%ORACLE_HOME%¥OO4O¥CPP¥MFC - ライブラリ、インクルード・ファイル、MFC Boundクラス・ライブラリのソース

%ORACLE_HOME%¥OO4O¥EXCEL¥SAMPLES - Excelのサンプル

%ORACLE_HOME%¥OO4O¥VB¥SAMPLES - Visual Basicのサンプル

%ORACLE_HOME%¥OO4O¥VB¥SAMPLES¥QT - Visual Basic Quick Tourガイド

%ORACLE_HOME%¥OO4O¥IIS¥SAMPLES - IISのサンプル

再配布可能ファイル再配布可能ファイル再配布可能ファイル再配布可能ファイル

エンド・ユーザーがこのバージョンの Oracle Objects for OLEをマシンにインストールしているかどうか保証できない場合は、配布するアプリケーションとともに幾つかの特定のファイルを再配布する必要があります。

どのファイルを含めるかについては、オンライン・ヘルプの「再配布可能ファイル」を参照してください。

Oracleデータ・コントロール(ORADC.OCX)はインストール時にレジストリに登録されないことがありますが、その場合は機能を有効にさせるためにレジストリに登録する必要があります。DOS プロンプトから regsvr32.exe oradc.ocx を実行すると OCX が登録されます。

既知の問題既知の問題既知の問題既知の問題

Oracle In-Process Server

Page 20: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

20 Oracle Objects for OLE for Windows リリース・ノート

Oracleデータ・コントロール

Oracleクラス・ライブラリ

IIS/ASP

Oracle In-Process Server

OraParameterおよびおよびおよびおよび OraParamArrayのののの RAWへバインド時のバイト配列サポートへバインド時のバイト配列サポートへバインド時のバイト配列サポートへバインド時のバイト配列サポート

これまでは ORATYPE_RAWがバインド・パラメータに使用される際、RAW値を 16進で表す文字列に渡す必要があり、バイト配列は使用できませんでした。本バージョンではORATYPE_RAW_BINデータ型がバイト配列として INパラメータに使用できます。また、NULL以外の OUTパラメータからバイト配列を受け取ることができます。

文字列のように OUTパラメータに 128バイトより大きいサイズが必要と思われる場合、入力配列のサイズがそれよりも小さければ OraParameterのMinimunSizeプロパティを使用する必要があります。OraParameters.AddTable(OraParamArrayの場合)では、ElementSizeパラメータが同じ目的に使用されます。

表の列にバインドする場合、ORATYPE_RAW_BINバインド・バッファに使用できる最大サイズは 2000バイトであり、ストアド・プロシージャにバインドする場合は 32KBです。OraParamArrayを使用した配列バインドでは、ストアド・プロシージャにバインドする際は4000バイト、表の列にバインドする際は 2000バイトより要素サイズを大きくできません。OraParamArrayをストアド・プロシージャにバインドするとき、ORATYPE_RAWは使用できません。 ORATYPE_RAW_BINを使用しなければなりません。

サンプル・コードは%ORACLE_HOME%¥OO4O¥VB¥SAMPLES¥RAWにあります。

OraAQオブジェクトのオブジェクトのオブジェクトのオブジェクトのMonitorStartメソッドは、メソッドは、メソッドは、メソッドは、DCOMのない古いバージョンののない古いバージョンののない古いバージョンののない古いバージョンのWin95ではサポートされないではサポートされないではサポートされないではサポートされない

使用するWin95マシンに、DCOMと新しいバージョンの OLE32.DLLおよびMFC42.dllをインストールしてください。その後、regsvr32.exeを使って%ORACLE_HOME%¥binディレクトリの oip8.dllおよび oradc.ocxを登録し直します。

Page 21: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 21

NCHARまたはまたはまたはまたは NVARCHAR2データ型でデータ型でデータ型でデータ型で ORA-12704が発生するが発生するが発生するが発生する

NCHARおよび NVARCHAR2のデータ型はこのリリースではサポートされません。これらの型に対して操作を試みると、エラー「キャラクタ・セットが一致していません。」が発生します。

タイプタイプタイプタイプ・ライブラリの変更・ライブラリの変更・ライブラリの変更・ライブラリの変更

OO4Oバージョン 2.3.x(2.3.4以下)ではタイプ・ライブラリとの互換性がありませんでした。この問題は、現在のリリースでは修正されています。OO4Oバージョン 2.3.x(2.3.4以下)とのアーリー・バインディングを使用するアプリケーションは、コンパイルし直す必要があります。

ORADYN_ORAMODEのダイナセットを持つのダイナセットを持つのダイナセットを持つのダイナセットを持つ LOB列列列列

ORADYN_ORAMODEオプションで作成されたダイナセットでの LOB列の追加は、このリリースでは機能しません。

Lob、、、、Object、、、、REF、コレクションの使用済み書込み、コレクションの使用済み書込み、コレクションの使用済み書込み、コレクションの使用済み書込み

上記以外のすべての列タイプでは、更新しようとしたときにフィールドの値がほかのユーザーによって変更されている場合、「OIP-4119: データは更新されています。 」エラーを受け取ります。このエラーは、BLOB、CLOB、Object、REFおよびコレクション型では発生せず、データは更新されます。

Visual Basic 6.0とのエラーとのエラーとのエラーとのエラー:ランタイムランタイムランタイムランタイム・エラー・エラー・エラー・エラー'5': 無効なプロシージャ・コールまたは引無効なプロシージャ・コールまたは引無効なプロシージャ・コールまたは引無効なプロシージャ・コールまたは引数数数数

VB 6.0では演算子(<、>、=、&)がオブジェクトを評価する方法が変更されています。

次のコードは Visual Basic 6.0ではエラーが生成されますが、Visual Basic 5.0では動作します。

MsgBox "Ename:"& OraDynaset.Fields!ENAMEMsgBox "Ename:"& OraDynaset.Fields("ENAME")If OraDynaset.Fields!EMPNO = 7222 Then Msgbox "Hello World"If OraDynaset.Fields("EMPNO") = 7222 Then Msgbox "Hello World"

回避策として、Valueプロパティを明示的に使用し、"!"(デフォルト・プロパティ)演算子の使用を避けてください。

Page 22: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

22 Oracle Objects for OLE for Windows リリース・ノート

この設計変更は、句で使用する演算子(<、>、=、&)に限り影響すると考えられます。Msgbox

メソッドおよび句で使用しない演算子は、正しい値を表示できます。

たとえば、次のコードは VB5と VB6の両方で動作します。

MsgBox OraDynaset.Fields!ENAMEMsgBox OraDynaset.Fields("ENAME")int_var = OraDynaset.Fields("EMPNO")Msgbox "Empno:"& int_var

この設計変更の詳細は、MS Knowledge Baseの記事を参照してください。

Q194368:Operators Do Not Recursively Call Object Default Properties

これは、http://search.support.microsoft.com/kb/で参照できます。

Windows 95でのフリーでのフリーでのフリーでのフリー・スレッド化・スレッド化・スレッド化・スレッド化

Windows 95のフリー・スレッド環境で OO4Oを使用するには、次の文字列値を InProcServer32

キーに追加します。ThreadingModel = "Both"これは、NTではデフォルトで追加されます。

OpenDatabaseのののの ORADB_NOWAITオプションオプションオプションオプション

このオプションの結果は、バージョン 2.3での動作と大幅に異なります。これは現在OraDynasetにのみ影響し、OraSqlStmtオブジェクトや ExecuteSQLコールに対しては影響はありません。また、現在エラーが発生するのは行がロックされた場合のみです(2.3では、データベース・リソースが競合した場合、その時間にかかわらずエラーが発生し、ほとんどの場合に中断していました。)

そのため、旧バージョン用に書かれたプログラムを OO4O R8.1.6.3.7 で使用する場合、次の注意が必要です。

BeginTrans とCommitTrans を使用し、ExecuteSQL またはCreateSQL で select ... for update を指定して行ロックを取得しようとしているプログラムは、NOWAIT を select ... for update に追加する必要があります。

LONG、、、、LONG RAW列の列の列の列の ChunkSize

ChunkSizeは 65280バイト以下でオンライン・ドキュメントに記載されている 64Kではありません。これは、GetChunk、GetChunkByte、GetChunkByte、GetChunkByteEx、ReadChunkのすべてのチャンク・メソッドに関してあてはまります。

Page 23: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 23

MoveTo、、、、MoveRel、、、、Movexxxxnの動作の動作の動作の動作

MoveTo:

このメソッドの動作は正常ですが、ドキュメントではこのメソッドの動作についての説明がありません。

このメソッドの動作では、行番号がリフレッシュ間で静的です。行番号は Row ID と非常によく似ており、削除後に動的に再割当てされることはありません。そのため、MoveFirst の後にMoveTo 4 を実行すると、行 2 および 3 が削除されているかどうかにかかわらず、行 4

で終了します。したがって、(リフレッシュ直後など)行が削除されていないことが確かでない限り、行番号の値に基づいた算術は実行しないでください。つまり、行 1 と行 4 との間に有効な(削除されていない)行がいくつあり、それらがどのくらい離れているか、ということはわかりません。行番号はラベルまたは ID としてのみ機能し、行が削除されている場合、その値は相対的な位置を表しません。

MoveRel、Movexxxxn:

行が削除された場合、これらのメソッドは正常に機能しません。指定したオフセット値を行番号に不適切に追加し、そこへ(または結果の行が削除されている場合は、次に使用可能な有効行へ)移動します。(リフレッシュ直後など)行が削除されていないことが確かでない限り、これらのメソッドは使用しないでください。そのかわりに、MoveNext またはMovePrev

のループを使用して、同じ結果を得ることができます。

Findメソッドメソッドメソッドメソッド

like演算子は、マルチバイト言語では機能しません。

ユーザーのスキーマには、表またはシノニム DUALが必要です。

日付値が取り出され、VB形式で比較されます。VB形式は実際に「コントロール パネル」で指定された形式です。したがって、デフォルトの Oracle形式である DD-MON-

YYYYなどの他の形式が使用されている場合、日付の比較は失敗します。

1 つ目の引数はネイティブな Oracle 形式の日付である必要があり、OO4O は文字列日付しか処理しないため、SQL 関数 TO_CHAR(date, fmt)は使用できません。

SQL関数 TO_DATEは文字列を日付に変換しますが、前述したように OIPはこれを VB

形式の文字列に変換するため、比較は失敗します。

NO_CACHEダイナセットの FindPreviousおよび FindLastは機能せず、NoMatchが TRUE

に設定されます。

Page 24: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

24 Oracle Objects for OLE for Windows リリース・ノート

ADDおよびおよびおよびおよびADDTABLEメソッドでのメソッドでのメソッドでのメソッドでのORAPARM_INPUT、、、、OUTPUTおよびおよびおよびおよびBOTH IOTYPE

これらの値は正しいことを確認してください。たとえば、ストアド・プロシージャでは、ORAPARM_INPUT は IN パラメータでしか使用できません。また、ORAPARM_OUT は OUT

パラメータ、ORAPARM_BOTH は IN OUT パラメータでしか使用できません。ストアド・プロシージャのパラメータ・タイプ IN に ORAPARM_BOTH を設定するなど、不適切なオプションを設定すると、特定の環境ではエラーが発生することがあります。使用方法が異なる場合は、別のパラメータを作成する必要があります。つまり、ORAPARM_BOTH は IN OUT

パラメータ専用です。これは、IN パラメータを持つあるストアド・プロシージャに対してあるパラメータを使用し、OUT パラメータを持つ別のストアド・プロシージャでそれを使用しなければならない、という意味ではありません。この場合には 2 つのパラメータが必要です。この場合にエラーが発生することはほとんどありませんが、パラメータ関連のエラーが発生した場合は、この点を確認する必要があります。

Oracleデータデータデータデータ・コントロール・コントロール・コントロール・コントロール

カスタムカスタムカスタムカスタム・コントロール・コントロール・コントロール・コントロール・サポート・サポート・サポート・サポート

Oracleデータ・コントロールは、Visual Basicカスタム・コントロール(OCX)として完全に機能します。これは、Microsoft VBのデータ・バインディング仕様に準拠したあらゆるデータにアクセス可能なバウンド・コントロール(OCX)と互換性があります。

Oracle データ・コントロールでテスト済みのデータにアクセス可能なコントロールを次に示します。また、それに対するコメントも示します。ここにリストされていないコントロールでも、Microsoft VB のデータ・バインディング仕様に準拠していれば Oracle データ・コントロールと組み合わせて使用できます。

Microsoft Visual Basicの標準コントロール

Sheridan Data Widgets

FarPoint Data Bound Grid Control

VC++でのデータ・コントロールの使用

Microsoft Visual Basicの標準コントロールの標準コントロールの標準コントロールの標準コントロール

テスト済みバージョン: VB 4.0、5.0および 6.0

Editコントロール

Page 25: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 25

既知の問題はありません。

静的テキスト・コントロール

既知の問題はありません。

Pictureボックスおよび Imageコントロール

Oracleデータ・コントロールを介して表示される Long Rawデータは読込み専用です。Long Rawに対する追加や更新を行うには、コードを使用する必要があります。詳細は、オンライン・ヘルプの AppendChunkメソッドの例を参照してください。Long Rawを BLOB列型に移行することをお薦めします。BLOB列型は、データ・コントロールにより書き込み可能で、はるかに高速です。

Microsoft OLEコンテナ・コントロール

OLEオブジェクトをアクティブにした後の書込み操作は、VB 4.0では正常に動作しません。データベースに書き込まれたオブジェクトは破損してしまいます。これは、VB 5.0や 6.0では正常に動作します。

Microsoft Data Boundリスト・コントロール

ORADC.UpdateRecordには応答しません。更新を行うにはMoveNextまたはMovePreviousを使用してください。

Microsoft Data Boundコンボボックス・コントロール

ORADC.UpdateRecordには応答しません。更新を行うにはMoveNextまたはMovePreviousを使用してください。

Microsoft Data Boundグリッド・コントロール

Data Controlの基礎となる Recordsetが EOFや BOFに移動した場合に、これを使用するとグリッドは正しく描画されません。このため、毎回コード内でORADC1.Recordsetの使用後に BOFまたは EOFを確認することをお薦めします。BOFまたは EOFが TRUEのとき、EOFの場合はMoveFirstに続いてMoveLastを行い、BOFの場合はMoveLastに続いてMoveFirstを行います。これにより行が再描画されます。

グリッドの Scroll(DBGRID.Scroll)メソッドは動作しません。

グリッドの Refresh(DBGRID.Refresh)メソッドは動作しません。かわりに、ORADC.Recordset.Refreshを使用してください。

Page 26: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

26 Oracle Objects for OLE for Windows リリース・ノート

キーボードの[Del]キーを使用して行を削除すると、現在行が 1行でなく 2行前方にジャンプします。回避策としては、コード ORADC.Recordset.Deleteに対応付けられたボタンを使用します。

MSGRIDブックマーク(DBGRID.Bookmark)と Oracle Objectsブックマーク(ORADC.Recordset.Bookmark)は、互換性がありません。DBGRID.Bookmarkから取得したブックマークに ORADC.Recordset.Bookmarkプロパティを設定するとOIP-4121になります。同様に、ORADC.Recordset.Bookmarksから取得したブックマークを、グリッドの SelBookmarksコレクションに追加すると、一部の行が正しく選択されないことがあります。この問題を回避するには、OracleオブジェクトとMSGridの間でブックマークを共有しないようにします。

つまり、 DBGrid1.Bookmarkから取得したブックマークにのみ DBGrid1.Bookmark

プロパティを設定します。また、ORADC.Recordset.Bookmarkから取得したブックマークにのみ ORADC.Recordset.Bookmarkを設定します。

たとえば、次の式

DBGrid1.Bookmark = DBGRID.SelBookmarks(0)

は、次の式のかわりに使います。

ORADC.Recordset.Bookmark = DBGRID.SelBookmarks(0)

MSGRID SelBookmarksプロパティは ORADC.Recordset.Bookmarkでは機能しない

DBGRID.Bookmarkから取得したブックマークに ORADC.Recordset.Bookmarkプロパティを設定すると OIP-4121が発生します。同様に、グリッドの SelBookmarksコレクションに ORADC.Recordset.Bookmarksから取得したブックマークを、追加すると、一部の行が正しく選択されないことがあります。

この問題を回避するには、OracleオブジェクトとMSGridの間でブックマークを共有しないようにします。

たとえば、次のように設定します。

DBGrid1.Bookmark = DBGRID.SelBookmarks(0)

(ORADC.Recordset.Bookmark =DBGRID.SelBookmarks(0)のかわりに)

Sheridan Data Widgets

テスト済みバージョン: 3.12ビルド 15

Sheridan Data Boundコンボ・コントロール

Page 27: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 27

OIP-16389エラーが発生したりコンボ・ボックスまたはドロップダウン・ボックスを使用した更新のたびに NULLが挿入されるバグを修正するには、Sheridan

(http://www.shersoft.com/)から 3.12ビルド 15以降を取得します。既知の問題は、これ以外にはありません。

Sheridan Data Boundドロップダウン・コントロール

上記のコンボ・ボックスと同じです。

Sheridan Data Boundグリッド・コントロール

データ・コントロールの基礎となる Recordsetが EOFや BOFに移動した場合に、グリッドの使用を試みると、グリッドは正しく描画されません。 このため、毎回コード内で ORADC1.Recordsetの使用後に BOFまたは EOFを確認することをお薦めします。BOFまたは EOFが TRUEのとき、EOFの場合はMoveLastを行い、BOF

の場合はMoveFirstを行います。

グリッド上に見える行がない場合に(1 ページよりも多くの行があるときに、グリッド上に見える行をすべて削除した場合にこうなります)削除を実行し、空のように見えるグリッド上でさらに削除を実行すると、再描画の問題が発生します。通常、ユーザーは行が見えるとき以外は行の削除を行わないため、この問題はORADC.Recordset.Delete ループがある場合のみ発生します。対処方法の 1 つとして、ループ内の各削除に、MovePrevious とそれに続けてMoveNext を追加する方法があります。これにより、Sheridan は削除が終了するまでグリッド上に少なくとも 1 行を表示し続けるため、問題を回避できます。もう 1 つの対処方法は、削除後にリフレッシュを行う方法です。

ダイナセットがまだ完全にフェッチされていないときに基礎となるダイナセット(ORADC.Recordset.AddNew )で AddNew を実行すると、OIP-4118 エラーが発生します。 この問題に対処するには、MoveLast を実行して完全なフェッチを行い、続いて AddNew をコールします。

前述の問題に関連して、すべての行がまだフェッチされていない場合、Sheridan が最終行へ移動すべきときに移動しなくなるもう 1 つの状況があります。たとえば、すべての行がフェッチされる前にグリッド自体でMoveLast をコールすると(Grid.MoveLast )、この状況になることがあります。この問題に対処するには、基礎となるダイナセットでMoveLast をコールします(ORADC.Recordset.MoveLast )。

前述の問題に関連して、すべての行がまだフェッチされていない場合、グリッドのMoveRecords メソッドは、それまでにフェッチされたすべての行の最終行へ移動します。

Page 28: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

28 Oracle Objects for OLE for Windows リリース・ノート

グリッドの Refresh メソッド(SSDBGRID1.Refresh )は何も行いません。かわりに ORADC.Recordset.Refresh を使用してください。

Sheridan Enhancedデータ・コントロール

検索は、等しい場合で、かつ行が削除されていない場合にのみ機能します。

FarPoint Data Boundグリッドグリッドグリッドグリッド・コントロール・コントロール・コントロール・コントロール

テスト済みバージョン: 2.5.020

Long Rawのサイズから 118バイトを引いた値が 32Kの倍数である場合、Long Raw

にバインドするとアクセス違反が発生します。Farpointではこの不具合を認識しており、Spreadのメンテナンス・リリースで修正されるはずです。修正版の入手方法の詳細は、Farpointにお問い合わせください。

グリッドの最後の行を削除した後、Farpointは新しい最終行に移動しません。削除を続けると、新しい最終行のは正常に削除されますが、削除した行がグリッドから消えません。これを回避するには、コード中の各削除にMovePreviousおよびMoveNextを追加するか、削除後もリフレッシュをコールします。

Oracleクラスクラスクラスクラス・ライブラリ・ライブラリ・ライブラリ・ライブラリ

RAWデータ型の追加サポートデータ型の追加サポートデータ型の追加サポートデータ型の追加サポート

RAWデータ型サポートを可能にするメソッドが C++ライブラリに追加されました。

ODynaset:oresult GetFieldValue(int index, char *val, unsigned short maxlen,unsigned short *outlen) const;oresult GetFieldValue(const char *fieldname, char *val, unsigned shortmaxlen, unsigned short *outlen) const;oresult SetFieldValue(int index, const char *val, int len);oresult SetFieldValue(const char *fieldname, const char *val, int len);

OField:oresult GetValue(const char **val, int *len) const;oresult SetValue(const char *val, int len);

OParamArray:oresult GetValue(const char **val, int *len, int index) const;oresult SetValue(const char *val, int len, int index);

Page 29: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 29

OParameter:oresult GetValue(const char **val, int *len) const;oresult SetValue(const char *val, int len);

OParameterCollection:OParameter Add(const char *name, const char *value, int len, int iotype,int serverType);

サンプル・コードは%ORACLE_HOME%¥ OO4O¥CPP¥WORKBOOK¥RAWディレクトリにあります。

ORACLM32.LIBとリンクしようとするとエラーが発生するとリンクしようとするとエラーが発生するとリンクしようとするとエラーが発生するとリンクしようとするとエラーが発生する

このリリースの C++クラス・ライブラリは、VC++ 6.0より古いリンカーでは認識されないORACLM32.LIBが付属して出荷されます。

ApartmentThreaded(デフォルト)オプション付きの(デフォルト)オプション付きの(デフォルト)オプション付きの(デフォルト)オプション付きの OStartup

C++クラス・ライブラリから OSTARTUP_MULTITHREADEDオプションなしで OStartupをコールすると、同じユーザー名、パスワード、接続別名を持つ接続は共有されます。これは、バージョン 2.3以前との下位互換性を保証するためです。

エラーエラーエラーエラー:CoInitializeEx()がががが OLE32.DLLで見つかりません。で見つかりません。で見つかりません。で見つかりません。

これと同様のエラーは、クラス・ライブラリを古いバージョンのWin95で使用し、MultiThreadingオプション付きで OStartup()をコールした場合に発生します。これを訂正するには、NT 4.0を入手するか、Windows 95用の DCOMパッチを入手する必要があります。

VC++でのデータでのデータでのデータでのデータ・コントロールの使用・コントロールの使用・コントロールの使用・コントロールの使用

エラーによっては、MFC42.DLLで例外が発生します。たとえば、データ・コントロールを使用して VC++アプリケーションを実行中の場合、他の場合には OIPエラーを生成するような無効なデータを入力すると、MFC42.DLLで未処理例外が発生します。

IIS/ASP

IIS 4.0

IIS 4.0では、OO4Oをインスタンス化するためには、<OBJECT>タグを使用する必要があります。

Page 30: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

30 Oracle Objects for OLE for Windows リリース・ノート

<OBJECT RUNAT=Server SCOPE=Application ID=OraSessionPROGID="OracleInProcServer.XOraSession"></OBJECT>

これにより Application("OraSession")構文を使用せずに、単純に参照して、OraSessionオブジェクトにアクセスできます。これは SCOPE=Applicationで処理されます。

global.asaサンプル・ファイルは次の通りです。

<OBJECT RUNAT=Server SCOPE=Application ID=OraSessionPROGID="OracleInProcServer.XOraSession"></OBJECT><SCRIPT LANGUAGE=VBScript RUNAT=Server>Sub Application_OnStartEnd Sub

Sub Application_OnEndEnd Sub

</SCRIPT>

ASPでのでのでのでの Long/Long列の読込み列の読込み列の読込み列の読込み

ASPから Long/Long Raw列を読み込むには、OraFieldオブジェクトの GetChunkByteExメソッドを使用する必要があります。詳細は、オンライン・ヘルプを参照してください。オラクル社では、かわりに LOBの使用をお薦めします。

Oracle Objects for OLEでの非同期処理での非同期処理での非同期処理での非同期処理

非同期処理のサポートによって SQL文および PL/SQLの非ブロック・モードでの実行が可能になります。非ブロック・モードではアプリケーションの処理が完了していない場合でも制御をただちにアプリケーションに戻します。これにより、アプリケーションは実行結果に依存しない別のタスクを実行できます。非ブロック・モードではアプリケーションは非同期実行の最終状態を判断するために OraSQLStmtをポールする必要があります。ORASQL_STILL_EXECUTINGはまだ実行中であることを示します。アプリケーションは処理が ORASQL_SUCCESSで完了するまでポールする必要があります。正常に完了した場合、出力パラメータが存在すればバウンド・パラメータ・バッファにおかれます。この後アプリケーションはブロック・モードのときのようにパラメータにアクセスできます。正常に完了しなかった場合、非同期問合わせの実行される OraSQLStmtにエラーが渡されます。アプリケーションはブロック・モードのときのようにエラーにアクセスできます。

アプリケーションは OraSQLStmtオブジェクトで Cancel()メソッドをコールすることで長期実行されている非同期操作の取り消しが可能です。Cancel()は実行中の処理を取り消します。

Page 31: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 31

アプリケーションは OraSQLStmtオブジェクトの NonBlockingModeプロパティで処理モードを設定または取得できます。

非ブロック非ブロック非ブロック非ブロック・モードの設定・モードの設定・モードの設定・モードの設定

非ブロック・モードは次のようにして可能になります。詳細は「例」を参照してください。

ORASQL_NONBLKを OraDatabaseで CreateSql()の実行時(OraSQLStmtの作成時)に指定します。このモードが指定されない場合、OraSQLStmtはデフォルトのブロック・モードで実行されます。

'Create the statement in NON-BLOCKING modeOraSQL = Oradb.CreateSQL("delete from emp",ORASQL_NONBLK)

非ブロック非ブロック非ブロック非ブロック・モードのリセット・モードのリセット・モードのリセット・モードのリセット

現在非ブロック・モードである OraSQLStmtは開放されるまで非ブロック・モードのままとなります。

非ブロック処理の状態確認非ブロック処理の状態確認非ブロック処理の状態確認非ブロック処理の状態確認

ユーザーは非ブロック・モードで実行中であるOraSQLStmtでNonBlockingStateメソッドをコールすることにより処理が完了しているかどうかを確認できます。詳細は「例」を参照してください。

status = OraSQL.NonBlockingStateif status = ORASQL_STILL_EXECUTINGMsgBox "Stillin executionelse'Execution completed successfully

非ブロック操作の取消し非ブロック操作の取消し非ブロック操作の取消し非ブロック操作の取消し

ユーザーは非同期コールを実行している OraSQLStmtで Cancel()メソッドをコールすることにより実行中の非ブロック操作を取り消すことができます。メソッドと戻り値の詳細は「付録」を参照してください。

Page 32: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

32 Oracle Objects for OLE for Windows リリース・ノート

制限事項制限事項制限事項制限事項

OraSQLStmtオブジェクトで非ブロック操作が実行中のとき、実行中の処理に影響するため、その OraSQLStmtのプロパティや属性を変更することはできません。

すでにその接続でインスタンス化されている他のオブジェクトが存在する場合、OraSQLStmtを非ブロック・モードで作成することはできません。言い換えると、非ブロック・モードで実行させる OraSQLStmtオブジェクトを作成する CreateSqlは、同じデータベース・セッションにおいてその他のオブジェクト(OraDynaset、OraAQなど)が現在アクティブでない場合のみ成功します。唯一の例外はパラメータ・オブジェクトとBLOB、CLOB、BFILEおよびオブジェクト型を含むオブジェクトです。これらは非ブロック処理でパラメータとして必要とされます。

非ブロック・コールの完了を待っている間、アプリケーションはこの OraSQLStmtを含む OraDatabaseインスタンスのいかなるメソッドやプロパティも実行できません。アプリケーションは異なるサーバー・コンテキストへスイッチすることでこれを実行できます。「非同期モードにおける複数の問合わせの実行例」を参照してください。

例例例例

Dim OraDatabase as OraDatabaseDim OraStmt as objectDim stat as long

'execute the select statement with NONBLOCKING mode onset OraStmt = OraDatabase.CreateSQL ("update emp set sal = sal + 1000",ORASQL_NONBLK)

'Check if the call has completedstat = OraStmt.NonBlockingState

if stat = ORASQL_STILL_EXECUTING thenMsgBox "Asynchronous Operation under progress"elseMsgBox "Asynchronous Operation completed with success"endifend if

非同期モードにおける複数の問合わせの実行例非同期モードにおける複数の問合わせの実行例非同期モードにおける複数の問合わせの実行例非同期モードにおける複数の問合わせの実行例

Dim OraSess as objectDim OraServ as objectDim OraDb1 as OraDatabaseDim OraDb2 as OraDatabase

Page 33: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 33

Dim OraStmtnonblk as objectDim OraStmtblk as objectDim stat as long

set OraSess = CreateObject("OracleInProcServer.XOraSession")set OraDb1 = OraSess.OpenDatabase("exampledb","scott/tiger",0&)

Set OraServ = CreateObject("OracleInProcServer.XOraServer")set OraDb2 = OraServ.OpenDatabase("exampledb","scott/tiger",0&)

'execute the select statement with NONBLOCKING mode onset OraStmtnonblk = OraDb1.CreateSQL ("update emp set sal = sal + 1000",4&)

'Check if the call has completedstat = OraStmt.NonBlockingState

if stat = ORASQL_STILL_EXECUTING thenMsgBox "Asynchronous Operation under progress"elseMsgBox "Asynchronous Operation completed with success"endif

'execute on the second connection in BLOCKING modeset OraStmtblk = OraDb2.CreateSQL ("update emp set sal = sal + 1000",0&)

'The second connection can be used to execute SQL in blocking/non-blockingmode while the first'is executing the nonblocking call

付録付録付録付録

非ブロック処理のために追加された新規メソッドと拡張のサマリーです。

CreateSQLメソッドメソッドメソッドメソッド

適用対象適用対象適用対象適用対象

OraDatabase

説明説明説明説明

SQL文を実行し、指定した SQL文とオプションから OraSQLStmtオブジェクトを作成します。

使用方法使用方法使用方法使用方法

Set orasqlstmt = oradatabase.CreateSQL(sql_statement, options)

Page 34: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

34 Oracle Objects for OLE for Windows リリース・ノート

引数引数引数引数

sql_statement Oracle SQL文(有効なもの)。

options SqlStmtオブジェクトのオプション状態の状況を示すビット・フラグ。1つ以上のオプションの値を追加して、オプションを組み合せることができます。

オプション・フラグの値は、次のとおりです。

定数定数定数定数 値値値値 説明説明説明説明

ORASQL_NO_AUTOBIND &H1& データベース・パラメータの自動バインディングを実行しない。

ORASQL_FAILEXEC &H2& エラーを発生させ、SQL文オブジェクトを作成しない。

ORASQL_NONBLK &H4& 非ブロック・モードで SQL文を実行する。

これらの値は、oraconst.txtファイルにあります。

備考備考備考備考

SQL文は、ブレークのない連続する 1行として指定できます。行をブレークする必要がある場合は、改行(ASCII 10)を使用します。キャリッジ・リターン(ASCII 13)は、基礎となる Oracleデータベース関数が NULLターミネータとして取り扱うため、使用しないでください。

PL/SQLのバインド変数は、OraParametersコレクションと組み合せて使用できます。

SQL文を実行すると、データベースに対するコミットがデフォルトで生成されます。これを回避するには、CreateSQLの使用前にセッション・オブジェクトに BeginTransを使用します。

PL/SQLブロックの実行時、またはストアド・プロシージャのコール時は、PL/SQLの無名ブロックを実行する場合のように、コールの前後に BEGINと ENDを付ける必要があります。このメソッドは、SQL*Plusと SQL*DBAの EXECUTEコマンドと同じです。

SQL_FAILEXECを使用すると、SQL文オブジェクトの作成に失敗したとき(SQL文オブジェクトのリフレッシュ時)に、エラーが発生します。SQL文オブジェクトは作成されず、リフレッシュもできません。

Page 35: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Objects for OLE(OO4O)R8.1.6.3.7 35

注意注意注意注意: 実行する SQL文または PL/SQLブロックは、後で Editメソッドを使用したときに、現在オープンしているダイナセットにエラーを起こす可能性があるので、CreateSQLの使用には注意が必要です。

データ型データ型データ型データ型

String

NonBlockingStateメソッドメソッドメソッドメソッド

適用対象適用対象適用対象適用対象

OraSQLStmt

説明説明説明説明

現在実行中の SQLが操作を完了したか確認します。まだ完了していないときはORASQL_STILL_EXECUTINGを返します。

使用方法使用方法使用方法使用方法

status = OraSQL.NonBlockingStateif status = ORASQL_STILL_EXECUTINGMsgBox "Stillin executionelse'Execution completed successfully

引数引数引数引数

なし

戻り値戻り値戻り値戻り値

ORASQL_STILL_EXECUTING(-3123)または ORASQL_SUCCESS(0)

Cancelメソッドメソッドメソッドメソッド

適用対象適用対象適用対象適用対象

OraSQLStmt

説明説明説明説明

現在実行中の SQL操作を取り消します。

使用方法使用方法使用方法使用方法

Page 36: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

36 Oracle Objects for OLE for Windows リリース・ノート

status = OraSQL.NonBlockingStateif status = ORASQL_STILL_EXECUTINGOraSQL.Cancel

引数引数引数引数

なし

戻り値戻り値戻り値戻り値

ORASQL_SUCCESS(0)またはエラーの場合、エラー・コード

新規エラー新規エラー新規エラー新規エラー・メッセージ・メッセージ・メッセージ・メッセージ

ORA-4153:非ブロック操作が実行中です。

ORA-4154:処理は非ブロック操作が実行中のみ有効です。

Page 37: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Provider for OLE DB R8.1.6.0.0 37

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.ConnectionDim objRst As New ADODB.Recordset

objCon.Provider = "OraOLEDB.Oracle"objCon.Open "db815", "scott", "tiger"

Page 38: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

38 Oracle Objects for OLE for Windows リリース・ノート

objRst.CursorLocation = adUseClient 'ADO Client CursorobjRst.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つのオブジェクトがデータベースの同

Page 39: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Provider for OLE DB R8.1.6.0.0 39

じ名前領域に存在できます。また、SQL文に記述したすべてのオブジェクト名は大文字に変換されるということにも気を付ける必要があります。SELECT ename FROM empという問合せは、データベース内の表名が EMP(すべて大文字)でも正しく実行されます。ただし、大文字、小文字の混在したオブジェクト名を指定する必要がある場合は、その名前を二重引用符で囲むことで可能になります。

例を次に示します。

SELECT enameFROM "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 ...

Page 40: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

40 Oracle Objects for OLE 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. OLE DBインタフェース・メソッドの最初と最後で、次の情報を記録します。

1. 供給されるパラメータ値(メソッドの最初)

2. 戻り値 HRESULT(メソッドの最後)

3. スレッド ID(メソッド最初および最後)

b. グローバル・トランザクションの登録および登録解除の際に、次の情報を記録します。

1. セッション・オブジェクト情報

2. トランザクション ID

トレースは、次のレジストリ値を使用して構成できます。

a. ¥¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥OLEDB¥TraceFileName

Page 41: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

Oracle Provider for OLE DB R8.1.6.0.0 41

有効値: すべての有効なパスおよびファイル名

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が設定されているときは、トレース・ファイルにはコマンド・オブジェクトおよび行セット・オブジェクトの、メソッドの最初と最後のデータのみが含まれます。

Page 42: Oracle Objects for OLE for Windows4 Oracle Objects for OLE for Windows リリース・ノート 使用上の注意 本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。次の事項に関し説明します。

42 Oracle Objects for OLE for Windows リリース・ノート

グローバル・トランザクションの登録および登録解除のトレース情報を得るときは、セッション・オブジェクトのトレースが指定されている必要があります。

d. ¥¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥OLEDB¥TraceOption

有効値:

 0 = 単一のトレース・ファイル

 1 = 複数のトレース・ファイル

TraceOptionは、スレッド IDごとのトレース情報ログを複数のファイルに記録するか 1つのファイルに記録するかを指定します。単一のトレース・ファイルが指定されると、TraceFileNameに指定されたファイル名が使用されます。複数のトレース・ファイルが要求されると、指定されたファイル名にスレッド IDが追加されて、スレッドごとのトレース・ファイルが作成されます。