Workbenchのよくあるエラー
はじめに
これは、Workbenchを使用してDomoにデータをインポートする際に発生する、最も一般的なエラーに関するトラブルシューティングガイドです。
「ジョブのスキーマを動的に変更できません」
原因
-
以前にアップロードしたファイルに新しい列が追加された場合、1つ以上の列の名前が変更された場合、または元のソースで列の順序が変更された場合に発生します。列のデータ型が変更された場合(例:「日付」から「テキスト」)もジョブは失敗します。
-
Workbenchのジョブには、[スキーマの変更を許可] という設定を使用できます。デフォルトでは無効になっていますが、有効にすると動的なスキーマの変更が可能になります。このオプションを見つけるには、
をクリックしてリストからジョブを選択し、[設定] サブタブをクリックしてから、下部の [追加設定] までスクロールします。
注記と推奨
-
新しい列の追加と列を並べ替えは通常安全な操作ですが、列の削除は推奨されません。
-
DataSetに基づくカードとDataFlowが壊れないようにするには、スキーマを同じままにします。
解決策
-
変更を元に戻します。可能であれば、スキーマの変更の原因となった元のデータソースへの変更を元に戻します。
-
Workbench UIからジョブを1回手動で実行すると、Workbenchの [設定] >[追加設定] の [スキーマの変更を許可] の設定に関係なく、スキーマが更新されます。
-
変更が既存のカードやDataFlowに影響しないことが確認できれば、[追加設定] のオプションを変更し、スキーマの動的な設定を許可できます。有効にする場合は、DataSetの修正後に無効にすることをお勧めします。
「ソースファイルが存在しません」/「ファイルが見つかりません」
原因
ファイルが、Workbenchで選択したジョブの [設定] サブタブの [ソース] メニューで指定した場所にありません。
解決策
-
Workbenchで選択したジョブの [設定] サブタブの [ソース] メニューで、新しいファイル名と場所でファイルパスを更新します。
-
ファイルが正しい場所にあり、Workbenchで指定された名前になっていることを確認します。
-
ファイルがマシンのローカルにない場合は、ファイルにアクセスできるユーザーへの偽装を設定することを検討してください。
「504ゲートウェイタイムアウト」
原因
このエラーは、WorkbenchとDomoインスタンス間に通信エラーがある場合に発生します。
解決策
-
初めてWorkbenchを使用する場合は、Workbenchのプロキシ設定が正しく設定されていることを確認する必要があります。プロキシ設定はWorkbenchの [設定] > [プロキシ] で設定できます。[設定] を見つけるには、左側のアイコンバーにある
をクリックします。
-
ネットワークがDomoにアクセスできるように設定されていることを確認します。
-
Domo Workbenchのジョブを以前に実行したことがある場合は、ジョブを再実行することによって問題を解決できることがあります。
「ファイルが使用中です」
原因
WorkbenchがDomoにインポートしようとしているファイルが別のアプリケーションによって使用されているか、ファイルがロックされています。この問題は、Workbenchジョブの実行時にファイルがコピーされているなど、ファイルが使用中の場合に発生します。
解決策
-
Workbenchジョブの実行時にファイルが使用中でないことを確認します。
-
Workbenchの実行時にファイルが使用されないように、ジョブのスケジュールを変更します。
「デッドロックの対象」
原因
これは、データベースからデータをインポートしようとしているときに発生するSQLエラーです。さまざまなクエリが同時にレコードへのアクセスを試みたときによく発生します。データベースソフトウェアが、どのクエリの実行を許可するかを決定し、他のクエリはブロックされます。
解決策
-
ジョブがデータベースに対して他のクエリが実行されていないときに実行されるように、Workbenchのスケジュールを更新します。
-
同時に実行される他のクエリがあるかどうかを確認し、クエリを実行する時間を変更します。
-
ノンロッククエリの使用を検討してください。このような変更を行うと、データが実際にアップデートされた場合に、ダーティデータが発生する可能性があるため、注意が必要です。
ODBCプラグインの使用時の「接続ログインのタイムアウト」
原因
データベースが過負荷になっている場合に、この問題が発生することがあります。
解決策
データベースの負荷が低い別のタイミングでWorkbenchジョブを再試行します。