Skip to main content

Oracle

接続タイプ

ODBC、OLEDB、OCI (64ビット)

サポートのタイプ

読み込み&書き込み、インデータベース

検証済み

データベースバージョン: 12cと19c

ODBCクライアントバージョン: 2.0.9.1009

OCIクライアント18C

接続に使用するAlteryxツール

標準的なワークフロー処理

インデータベースのワークフロー処理

Oracleへの接続

接続手順については、Oracleデータベースへの接続を参照してください。

  • バージョン 10.02.00.01 64 ビット OLEDB プロバイダに固定小数点の問題がありました。Alteryxでは、11g以上のドライバーを使用することを推奨しています。

  • Oracle Connectionは、Oracle Call Interface(OCI)ライブラリを使用してOracleデータベースに接続します。このライブラリは、データベースにインストールされたクライアントソフトウェアの一部です。

  • Oracle OLEDBは、[インデータベース]ツールではサポートされていません。ODBCまたはOCIを使用します。

  • ユーザー名とパスワードの認証のみをサポートします。

ストアドプロシージャ

Alteryx は、Oracle ストアドプロシージャの複数行、複数の SQL ステートメントをサポートしています。これらには、Pre-SQLステートメントとPost-SQLステートメントを介してアクセスできます。ストアドプロシージャの実行時にエンジンは使用されません(これは完全にデータベースサーバー上で実行されます)。

ストアドプロシージャにアクセスします。

  1. 入力、出力、コマンド実行ツールのいずれかを Alteryx Designer キャンバスにドラッグします。

  2. [ファイルまたはデータベースを接続]メニューを選択してから、Oracleデータベース接続を選択します。

  3. [データ入力設定] ウィンドウで、[SQLステートメントの前処理] または [SQLステートメントの後処理] を選択します。[SQL エディター] タブには、1つ以上のステートメントを入力できます。または、[ストアドプロシージャ] のリストから選択することもできます。

  4. SQL ステートメントの前処理 ウィンドウ、SQL ステートメントの後処理 ウィンドウ、ストアドプロシージャ タブでパラメーターやデータ型を表示し、OCl、ODBC、OLEDB 接続の各ストアドプロシージャのパラメーターの値を入力します。目的のストアドプロシージャを選択し、[OK] を選択します。

    • ストアドプロシージャを選択すると、フィールドの内容が上書きされます。Oracle 接続のストアドプロシージャには、テーブルまたはクエリファイル形式オプション メニューからアクセスできません。

    • INパラメーターを持つストアドプロシージャのみが表示されます。

    • Oracle データ型は、接続が OLI、ODBC、OLEDB のいずれであるかによって、Alteryx へのマッピング方法が異なる場合があります。

    • 文字列パラメーターは、入力された値を一重引用符で囲む必要があります。

    • Oracle でストアドプロシージャを呼び出すための SQL 構文は、CALL "sproc_name" (optional parameter1, optional parameter2, ...) の形式にする必要があります。

    • 入力で使用されている場合、値はデータベース内の値を表す必要があります。

    • SQL エディタ タブと、ストアドプロシージャ タブのどちらを既定で開くかを選択できます。[SQL エディター] タブにテキストがない場合、既定のタブは [ストアドプロシージャ] になります。

サポートされていないデータ型

次のデータ型はサポートされていないため、[ストアドプロシージャパラメーター] 値のフィールドに入力できません。

  • バイナリタイプ: RAW、LONG RAW、BLOB

ストアドプロシージャにサポートされていないデータ型が含まれている場合は、次の操作を行います。

  • Designer はデータ型を unsupported に設定します。

  • データグリッドの [値] 列が読み取り専用になり、[OK] ボタンが無効になります。これは、ストアドプロシージャを実行できないことを示します。

制限事項

データベース

データベースバージョン10gと11gの制限事項:

  • テーブルの最大列: 1,000

  • 列名の最大長: 30文字

  • 最大行サイズ: 4 GB (LOBサイズを除く)

  • 可変長の文字列は、空ではなく NULL を返す場合があります。

ODBC

ODBCクライアントバージョン10.02.00.03 (Vista)、10.02.00.01 (32ビットと64ビット)、11.01.00.06 (32ビットと64ビット)、11.01.00.06 (32ビットと64ビット)の制限事項:

  • すべてのバージョン - INT64は固定数値として転送されます。SQL_C_BIGINTはサポートされていません。

  • Double (倍精度浮動小数点数値型)は、BINARY_DOUBLEとして転送されます。

  • Float (単精度浮動小数点数値型)は、BINARY_FLOATとして転送されます。

OLEDB

OLEDBクライアントバージョン10.02.00.03 (Vista)、10.02.00.01 (32ビットと64ビット)、11.01.00.06 (32ビットと64ビット)の制限事項:

  • 10.02.00.01 64ビット環境における固定小数点の問題

  • Double (倍精度浮動小数点数値型)は、BINARY_DOUBLEとして転送されます。

  • Float (単精度浮動小数点数値型)は、BINARY_FLOATとして転送されます。

Oracle Call Interface

Oracle Call Interfaceバージョン10.02.00.03 (Vista)、10.02.00.01 (32ビットと64ビット)、11.01.00.06 (32ビットと64ビット)の制限事項:

  • Int64はDoubleとして転送されます。

  • BoolはString(1)として転送されます。

  • DateTimeはString(19)として転送されます。

  • Double (倍精度浮動小数点数値型)は、BINARY_DOUBLEとして転送されます。

  • Float (単精度浮動小数点数値型)は、BINARY_FLOATとして転送されます。

空間データの取得

ODBCとOleDBのドライバーを使用して、空間データの取得はできません。Oracleデータベースで空間データを使用するには、OCIドライバーを使用して接続します。

既知の問題

  • Alteryx DesignerでOCI接続を使用する場合、列をプライマリキーとして指定するオプションはありません。一方、Oracle ODBC接続には[アップデート用キー]オプションがあり、任意の列をDesigner内でプライマリキーにできます。

  • ユーザー名が30文字を超える場合は、代わりにODBC接続を使用します。OCI接続は30文字を超えるユーザー名をサポートしていません。

  • Alteryxは、シーケンスが使用されているOracleテーブルへの挿入をサポートしていません。

  • ODBC 接続を使用する単一のワークフローには、同じドライバを使用する OleDB 接続または OCI 接続を含めることはできません。

  • OCIは、ODBCとは別の独自APIであり、コネクタへの特定の呼び出しを使用するため、動作がODBCと一致しない場合があります。

  • Unicode®でエンコードされたデータを含むOracleデータベースにOCI接続する場合、データ入力ツールの設定ウィンドウの[SQL WCharサポートを強制する]を選択します。文字列は、SQL_WCHAR、SQL_WVARCHAR、またはSQL_WLONGVARCHARとして扱われます。ODBC接続の場合は、[Oracle ODBC Driver Configuration - workarounds] の [SQL_WCHARサポートを強制する] オプションを使用します。

  • パスワードに特殊文字が含まれている場合、または特殊文字で始まる場合は、接続エラーが発生して、Oracleデータベースへの接続が失敗します。引用符なしの識別子は、データベース文字セットの英字で始まる必要があります。引用符付きの識別子は、任意の文字で始めることができます。

    接続時のエラーを回避するには、パスワードを二重引用符で囲みます。