• 検索結果がありません。

Microsoft Word - J doc

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft Word - J doc"

Copied!
42
0
0

読み込み中.... (全文を見る)

全文

(1)

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 環境でも利用可能 です。

(2)

目次

目次

目次

目次

使用上の注意 ... 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

(3)

目次 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

(4)

使用上の注意

使用上の注意

使用上の注意

使用上の注意

本リリースノートはドキュメント・セットに含まれていない重要な最新情報を提供します。 次の事項に関し説明します。 はじめに リリース 8.1.6 製品セット Windows 2000 の対応に関して Windows 95 の TCP/IP サポートに関して Windows Terminal Server のサポートに関して インストールの問題点および制限事項

(5)

使用上の注意 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 媒体上の英語のドキュメントと同一のドキュメントが日本語で提供されている場合は、 日本語版を参照してください。

(6)

リリース

リリース

リリース

リリース 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

(7)

使用上の注意 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)

(8)

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 がインストールされている必要があります。

(9)

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

(10)

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

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

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

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

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

(11)

使用上の注意 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 リリース

(12)

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)。次の いずれかの方法で対処してください。

(13)

使用上の注意 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

(14)

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. 「ファイルの場所」画面の「ソース」に次のディレクトリを指定します。「インストー

(15)

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 クラス・ライブラリ」を参照しください。

(16)

このリリースの内容

このリリースの内容

このリリースの内容

このリリースの内容

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

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(外部バイナリ・ラージ・オブジェクト)

(17)

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 があります。主

(18)

なコード変更は、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. 「リンク」タブを開きます。

(19)

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 が登録されます。

既知の問題

既知の問題

既知の問題

既知の問題

(20)

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 を登録し直します。

(21)

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!ENAME

MsgBox "Ename:"& OraDynaset.Fields("ENAME")

If OraDynaset.Fields!EMPNO = 7222 Then Msgbox "Hello World" If OraDynaset.Fields("EMPNO") = 7222 Then Msgbox "Hello World"

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

(22)

この設計変更は、句で使用する演算子(<、>、=、&)に限り影響すると考えられます。Msgbox メソッドおよび句で使用しない演算子は、正しい値を表示できます。 たとえば、次のコードは VB5 と VB6 の両方で動作します。 MsgBox OraDynaset.Fields!ENAME MsgBox 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 の すべてのチャンク・メソッドに関してあてはまります。

(23)

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 に設定されます。

(24)

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

(25)

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 を使用してください。

(26)

キーボードの[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

(27)

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 メソッドは、それまでにフェッチされたすべての行の最終行へ移動 します。

(28)

グリッドの 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 short maxlen, 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);

(29)

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>タグを使用する必要があり ます。

(30)

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

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

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

<OBJECT RUNAT=Server SCOPE=Application ID=OraSession PROGID="OracleInProcServer.XOraSession"></OBJECT> <SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart End Sub Sub Application_OnEnd End 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()は実行中の処理を取り消します。

(31)

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 mode

OraSQL = Oradb.CreateSQL("delete from emp",ORASQL_NONBLK)

非ブロック

非ブロック

非ブロック

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

・モードのリセット

・モードのリセット

・モードのリセット

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

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

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

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

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

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

else

'Execution completed successfully

非ブロック操作の取消し

非ブロック操作の取消し

非ブロック操作の取消し

非ブロック操作の取消し

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

(32)

制限事項

制限事項

制限事項

制限事項

OraSQLStmt オブジェクトで非ブロック操作が実行中のとき、実行中の処理に影響する ため、その OraSQLStmt のプロパティや属性を変更することはできません。 すでにその接続でインスタンス化されている他のオブジェクトが存在する場合、 OraSQLStmt を非ブロック・モードで作成することはできません。言い換えると、非ブ ロック・モードで実行させる OraSQLStmt オブジェクトを作成する CreateSql は、同じデ ータベース・セッションにおいてその他のオブジェクト(OraDynaset、OraAQ など)が 現在アクティブでない場合のみ成功します。唯一の例外はパラメータ・オブジェクトと BLOB、CLOB、BFILE およびオブジェクト型を含むオブジェクトです。これらは非ブ ロック処理でパラメータとして必要とされます。 非ブロック・コールの完了を待っている間、アプリケーションはこの OraSQLStmt を含 む OraDatabase インスタンスのいかなるメソッドやプロパティも実行できません。アプ リケーションは異なるサーバー・コンテキストへスイッチすることでこれを実行できま す。「非同期モードにおける複数の問合わせの実行例」を参照してください。

Dim OraDatabase as OraDatabase Dim OraStmt as object

Dim stat as long

'execute the select statement with NONBLOCKING mode on

set OraStmt = OraDatabase.CreateSQL ("update emp set sal = sal + 1000", ORASQL_NONBLK)

'Check if the call has completed stat = OraStmt.NonBlockingState if stat = ORASQL_STILL_EXECUTING then

MsgBox "Asynchronous Operation under progress" else

MsgBox "Asynchronous Operation completed with success" endif

end if

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

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

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

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

Dim OraSess as object Dim OraServ as object Dim OraDb1 as OraDatabase Dim OraDb2 as OraDatabase

(33)

Oracle Objects for OLE(OO4O)R8.1.6.3.7 33

Dim OraStmtnonblk as object Dim OraStmtblk as object Dim 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 on

set OraStmtnonblk = OraDb1.CreateSQL ("update emp set sal = sal + 1000", 4&)

'Check if the call has completed stat = OraStmt.NonBlockingState if stat = ORASQL_STILL_EXECUTING then

MsgBox "Asynchronous Operation under progress" else

MsgBox "Asynchronous Operation completed with success" endif

'execute on the second connection in BLOCKING mode

set OraStmtblk = OraDb2.CreateSQL ("update emp set sal = sal + 1000",0&) 'The second connection can be used to execute SQL in blocking/non-blocking mode while the first

'is executing the nonblocking call

付録

付録

付録

付録

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

CreateSQL

メソッド

メソッド

メソッド

メソッド

適用対象 適用対象適用対象 適用対象 OraDatabase 説明 説明説明 説明 SQL 文を実行し、指定した SQL 文とオプションから OraSQLStmt オブジェクトを作成 します。 使用方法 使用方法使用方法 使用方法

参照

関連したドキュメント

This product includes software developed by the OpenSSL Project for use in the OpenSSL

注意: 操作の詳細は、 「BD マックス ユーザーズマニュ アル」 3) を参照してください。. 注意:

注意: Dell Factory Image Restore を使用す ると、ハードディスクドライブのすべてのデ

H.264 ま ま また た たは は はMPEG MPEG MPEG---44 4 Part Part 10/A Part 10/AVC 10/A VC VC

注意事項 ■基板実装されていない状態での挿抜は、 破損、

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

(2)指摘、注意及び意見 ア 指摘 なし イ 注意 なし ウ 意見.

ビュージスタ GRAN-Gio ビュージスタ GRAN-Block ビュージスタ MULTI- ハードウッド ビュージスタ MULTI- ラティス ビュージスタ MULTI- サガン ビュージスタ