Oracle
接続タイプ | ODBC、OLEDB、OCI (64ビット) |
サポートのタイプ | 読み込み&書き込み、インデータベース |
検証済み | データベースバージョン: 12cと19c ODBCクライアントバージョン: 1.4.10.1010 OCIクライアント18C |
接続に使用する Alteryx ツール
標準的なワークフロー処理
インデータベースのワークフロー処理
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ステートメントを介してアクセスできます。ストアドプロシージャの実行時にエンジンは使用されません。この実行は完全にデータベースサーバー上で実行されます。
ストアドプロシージャにアクセスします。
入力、出力、コマンド実行ツールのいずれかを 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 ] ボタンが無効になります。これは、ストアドプロシージャを実行できないことを示します。
制限事項
テーブルの最大列: 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データベースへの接続が失敗します。引用符なしの識別子は、データベース文字セットの英字で始まる必要があります。引用符付きの識別子は、任意の文字で始めることができます。
接続時のエラーを回避するには、パスワードを二重引用符で囲みます。