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ステートメントを介してアクセスできます。ストアドプロシージャの実行時にエンジンは使用されません(これは完全にデータベースサーバー上で実行されます)。
ストアドプロシージャにアクセスします。
入力、出力、コマンド実行ツールのいずれかを Alteryx Designer キャンバスにドラッグします。
[ファイルまたはデータベースを接続]メニューを選択してから、Oracleデータベース接続を選択します。
[データ入力設定] ウィンドウで、[SQLステートメントの前処理] または [SQLステートメントの後処理] を選択します。[SQL エディター] タブには、1つ以上のステートメントを入力できます。または、[ストアドプロシージャ] のリストから選択することもできます。
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データベースへの接続が失敗します。引用符なしの識別子は、データベース文字セットの英字で始まる必要があります。引用符付きの識別子は、任意の文字で始めることができます。
接続時のエラーを回避するには、パスワードを二重引用符で囲みます。



