Skip to main content

Oracle

接続タイプ

ODBC、OLEDB、OCI (64ビット)

サポートのタイプ

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

検証済み

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

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

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 ステートメントをサポートしています。これらは、事前型SQLステートメントと事後型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 ] ボタンが無効になります。これは、ストアドプロシージャを実行できないことを示します。

制限事項

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

  • 列名の最大長: 30 文字

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

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

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

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

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

  • 10.02.00.01 64ビット - 固定小数点の問題

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

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

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

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

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

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

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

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

既知の問題

  • Alteryx doesn’t support inserting into an Oracle table that uses sequence.

  • A single workflow with ODBC connections cannot contain either OleDB or OCI connections using the same driver.

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

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

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

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