すべてのプロダクト
Search
ドキュメントセンター

Data Management:データ変更

最終更新日:Aug 21, 2024

このトピックでは、データ変更チケットを送信するときに発生する一般的なエラーの解決策について説明します。

設定されたセキュリティルールに従って、XXXXステートメントの実行または送信は禁止されます。

エラーメッセージの例:

Failed to pass the SQL statement type check. According to security rules, forbid execute directly, command type:INSERT, please contact DBA or administrator adjust! To modify the rule, choose Security and Specifications > Security Rules > Edit > SQL Correct > SQL Execution Rules., Not matched any rules of the command type, default forbid execute.

理由: Secure Collaborationモードで管理されているデータベースにバインドされているセキュリティルールは、SQLステートメントの実行または送信を禁止します。 したがって、ステートメントはブロックされます。

解決策: 実行または送信が禁止されているステートメントには、KNOWNステートメント (DMSで識別できるSQLステートメント) とUNKNOWNステートメント (DMSで識別できないSQLステートメント) が含まれます。 ビジネス要件に基づいてソリューションを選択できます。

  • KNOWNステートメント

    DMSは、エラーメッセージに示されたステートメントをKNOWNステートメントとして識別します。 ただし、現在のセキュリティルールでは、デフォルトでステートメントの実行が禁止されています。 DBAまたはDMS管理者に連絡して、セキュリティルールを変更してください。 次の手順では、セキュリティルールを変更する方法について説明します。

    1. セキュリティルールセットの名前を表示します。

      [データ変更チケットの詳細] ページに移動し、右上隅の [操作ログ] をクリックして、セキュリティルールセットの名前を表示します。

    2. セキュリティルールを変更します。

      1. 最初に DMSコンソールV5.0 にログインします。

      2. 上部のナビゲーションバーで、[セキュリティと仕様] > [セキュリティルール] を選択します。

      3. [セキュリティルール] タブで、管理するセキュリティルールセットを見つけ、[操作] 列の [編集] をクリックします。

      4. 左側のナビゲーションウィンドウで、[SQL Correct] をクリックします。

      5. 表示されるエラーメッセージに基づいて、[チェックポイント] のオプションを選択します。 上記のエラーメッセージの例では、[チェックポイント][SQL実行ルール] を選択します。

      6. 変更するセキュリティルールを見つけて、[操作] 列の [編集] をクリックします。

        説明

        エラーメッセージに示されたステートメントのSQL言語タイプに基づいて、変更するセキュリティルールを選択します。 たとえば、エラーメッセージに示されているステートメントタイプがCREATE_INDEXの場合、DDL関連のセキュリティルールを選択する必要があります。

      7. セキュリティルールのDSL構文に、エラーメッセージに示されているSQL文の種類を追加します。

        たとえば、次の図に示すように、CREATE_INDEXステートメントの実行が禁止されていることをエラーメッセージが示す場合、ルールのDDL構文にステートメントを追加する必要があります。

        SQLchange-intl

      8. [送信] をクリックします。

    3. セキュリティルールを変更した後、チケットの詳細ページの [事前チェック] セクションで [再試行] をクリックします。 次に、DMSはステートメントタイプを再度チェックします。

  • UNKNOWNステートメント

    1. 送信したSQL文が正しいかどうかを確認します。 SQL文が正しくない場合は、[事前チェック] セクションの [SQLの変更] をクリックします。 変更を確認したら、[再試行] をクリックして、ステートメントの種類を再度確認します。

    2. SQL文が正しい場合は、[事前チェック] セクションの [詳細の表示] をクリックして、UNKNOWNとして識別されたSQL文をフィルタリングして表示します。 次に、DBAまたはDMS管理者に連絡して、UNKNOWNとして識別されたSQLステートメントをセキュリティルールに追加し、DMSがステートメントを実行できるようにします。 変更を送信したら、[再試行] をクリックします。 セキュリティルールの変更方法の詳細については、「セキュリティルールの変更」をご参照ください。

影響を受ける行数の確認に失敗しました。 構文チェックに失敗しました。

エラーメッセージの例:

Failed to check the number of affected rows. Syntax check failed. Error message: ERROR. pos 37, line 1, column 31, token WHERE.

理由: データ変更チケットを送信するときの事前チェックステップで、DMSはスキャンされた行数をチェックして、SQL文の構文が正しいかどうかを再度チェックします。

解決策: 送信するSQL文の構文が正しいかどうかを確認します。

  • 構文が正しくない場合は、構文を変更した後、[事前チェック] セクションの [再試行] をクリックします。 次に、DMSは、スキャンされた行の数を再度チェックする。

  • 構文が正しい場合は、[事前チェック] セクションの [スキャンされた行数の確認] の右側にある [スキップ] をクリックして、エラーを無視します。