2.11 既知の問題点
これらのトピックでは、Oracle Database Gateway for SQL Serverの既知の問題について説明し、可能な場合はそれらを修正するための推奨事項を示します。
現在の問題のリストは、オンライン上で入手できます。 リストへのアクセスに関する情報は、Oracleサポート・サービスに連絡してください。
- 「暗号化形式のログイン」
DBLINK_ENCRYPT_LOGIN
初期化パラメータは廃止されています。 - 「日付の算術」
Oracle Database Gateway for SQL Serverで正しく機能しないSQL式。 - 「SQL Server IMAGE、TEXTおよびNTEXTデータ型」
IMAGE
、TEXT
およびNTEXT
データ型を使用するときには、制限事項があります。 - 「文字列関数」
ゲートウェイを使用してSQL Serverデータベースを問い合せるときに、||
またはCONCAT
演算子を使用して数値リテラルを連結した場合、結果は算術的な加算になります。 - 「スキーマ名およびPL/SQL」
SQL Serverデータベース・オブジェクトには、PL/SQLブロック内のSQL文でスキーマ名をプレフィクスとして付ける必要があります。 - 「データ・ディクショナリ・ビューおよびPL/SQL」
PL/SQLブロック内のSQL文のデータ・ディクショナリ・ビューを参照することはできません。 - 「ストアド・プロシージャ」
結果セットを返すストアド・プロシージャの戻り値が正しくありません。
親トピック: SQL Serverゲートウェイの機能および制限
2.11.1 暗号化形式のログイン
DBLINK_ENCRYPT_LOGIN
初期化パラメータは廃止されています。
Oracle9 iデータベース(リリース9.2以前)では、Oracle初期化パラメータDBLINK_ENCRYPT_LOGIN
がサポートされていました。 このパラメータをTRUE
に設定すると、ログイン・ユーザーIDのパスワードはネットワークを介して送信されません。
Oracle9 iデータベースで使用される初期化パラメータ・ファイルでこのパラメータがTRUE
に設定されている場合は、Oracle9 iがゲートウェイと通信できるように、設定をデフォルト設定のFALSE
に変更する必要があります。
現在のリリースでは、DBLINK_ENCRYPT_LOGIN
初期化パラメータは廃止されているため、チェックする必要はありません。
親トピック: 既知の問題
2.11.2 日付計算
Oracle Database Gateway for SQL Serverで正しく機能しないSQL式。
次のSQL式を含む文は、変換なしでSQL Serverデータベースに送信されます。 SQL Serverはこれらの日付算術関数をサポートしていないため、文はエラーを返します。
date + number number + date date - number date1 - date2
親トピック: 既知の問題
2.11.3 SQL Server IMAGE、TEXTおよびNTEXTデータ型
IMAGE
、TEXT
およびNTEXT
データ型を使用するときには、制限事項があります。
たとえば:
- サポートされていないSQL関数は、SQL Serverデータ型
IMAGE
、TEXT
またはNTEXT
として定義されている列にアクセスするSQL文では使用できません。 - データが80文字を超える場合、SQL*Plusを使用して、SQL Serverデータ型
IMAGE
、TEXT
またはNTEXT
として定義されている列からデータを選択することはできません。 Oracleでは、Pro*CまたはOracle Call Interfaceを使用して、SQL Serverデータベース内のこのようなデータにアクセスすることをお薦めします。 IMAGE
、TEXT
およびNTEXT
データは、パススルー問合せを介して読み取れません。- SQL文が
IMAGE
、TEXT
またはNTEXT
列を含む表にアクセスしている場合、文は2つの個別の文としてSQL Serverに送信されます。 1つの文でIMAGE
、TEXT
またはNTEXT
列にアクセスし、2番目の文で元の文の他の列にアクセスします。
ゲートウェイは、DBMS_SQL
パッケージのPL/SQL関数COLUMN_VALUE_LONG
をサポートしていません。
関連項目:
SQL構文の制限の詳細は、「サポートされているSQL構文および関数」を参照してください。親トピック: 既知の問題
2.11.4 文字列関数
ゲートウェイを使用してSQL Serverデータベースを問い合せるときに、||
またはCONCAT
演算子を使用して数値リテラルを連結した場合、結果は算術的な加算になります。
たとえば、次の文の結果は18であるとします:
SQL> SELECT 9 || 9 FROM DUAL@MSQL;
Oracleを使用してOracleデータベースを問い合せる場合、結果は99になります。
親トピック: 既知の問題
2.11.5 スキーマ名およびPL/SQL
SQL Serverデータベース・オブジェクトには、PL/SQLブロック内のSQL文でスキーマ名をプレフィクスとして付ける必要があります。
PL/SQLブロック内のSQL文でSQL Serverデータベース・オブジェクトにスキーマ名をプレフィクスとして付けないと、次のエラー・メッセージが表示されます:
ORA-6550 PLS-201 Identifier table_name must be declared.
SQL文を変更して、オブジェクトのスキーマ名を含めます。
親トピック: 既知の問題