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 ] ボタンが無効になります。これは、ストアドプロシージャを実行できないことを示します。
制限事項
Database
Limitations for database versions 10g and 11g:
テーブルの最大列: 1,000
列名の最大長: 30 文字
最大行サイズ: 4 GB (LOBサイズを除く)
可変長の文字列は、空ではなく NULL を返す場合があります。
ODBC
Limitations for ODBC client versions 10.02.00.03 (Vista), 10.02.00.01 (32- and 64-bit), 11.01.00.06 (32- and 64-bit), 11.01.00.06 (32- and 64-bit):
すべてのバージョン - INT64は固定数値として転送されます。SQL_C_BIGINTはサポートされていません。
Double (倍精度浮動小数点数値型)は、BINARY_DOUBLEとして転送されます。
Float (単精度浮動小数点数値型)は、BINARY_FLOATとして転送されます。
OLEDB
Limitations for OLEDB client Versions 10.02.00.03 (Vista), 10.02.00.01 (32- and 64-bit), 11.01.00.06 (32- and 64-bit):
10.02.00.01 64ビット - 固定小数点の問題
Double (倍精度浮動小数点数値型)は、BINARY_DOUBLEとして転送されます。
Float (単精度浮動小数点数値型)は、BINARY_FLOATとして転送されます。
Oracle Call Interface
Limitations for Oracle Call Interface versions 10.02.00.03 (Vista), 10.02.00.01 (32- and 64-bit), 11.01.00.06 (32- and 64-bit):
Int64はDoubleとして転送されます。
BoolはString(1)として転送されます。
DateTimeはString(19)として転送されます。
Double (倍精度浮動小数点数値型)は、BINARY_DOUBLEとして転送されます。
Float (単精度浮動小数点数値型)は、BINARY_FLOATとして転送されます。
Spatial Data Retrieval
ODBC および OLEDB ドライバーを使用して空間データを取得することはできません。Oracleデータベースで空間データを使用するには、 OCIドライバー を使用して接続します。
既知の問題
If the username exceeds 30 characters, use an ODBC connection instead, as the OCI connection does not support usernames longer than 30 characters.
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データベースへの接続が失敗します。引用符なしの識別子は、データベース文字セットの英字で始まる必要があります。引用符付きの識別子は、任意の文字で始めることができます。
接続時のエラーを回避するには、パスワードを二重引用符で囲みます。