このトピックでは、Data Transmission Service (DTS) で発生する可能性のあるエラーについて説明します。 これらのエラーは、エラーコードとエラーメッセージに基づいてトラブルシューティングできます。 次の表にリストされている例は参照のためだけです。 実際のエラーメッセージは異なる場合があります。
| エラーコード | 説明 | 例 | トラブルシューティング方法 |
| DTS-51009 | データ書き込みモジュールがデータキャッシュモジュールからデータを読み取ると、接続タイムアウトが発生します。 | DTS-31009: データの処理中 (recordRange: 5799806987638145024) に失敗しました原因: CriticalAnyAllException: capture-dstore: DTS-51009: dstoreからレコードをフェッチできませんでしたTimeoutException: 120000ミリ秒以内にオフセットを取得できませんでした |
|
| DTS-50019 | データ書き込みモジュールは、指定された時点のデータをデータキャッシュモジュールから読み出すことができない。 | DTS-31009: データ処理中 (recordRange: 9117052685537771520) に失敗した原因: CriticalAnyAllException: capture-dstore: DTS-51009: dstoreからレコードを取得できませんでしたCriticalAnyAllException: capture-dstore: DTS-50019: seek timestamp for topic [-0] with position [{"timestamp":1621516671, "offset":-1}] に失敗 |
|
| DTS-30018、DTS-30019、DTS-70019 | 列が存在しません。 | DTS-30019: ターゲットテーブルdb_name.table_nameに列 [column_in_source<-->column_in_target] が見つかりません DTS-70019: ターゲットテーブルdb_name.table_nameに列 [column_in_source<-->column_in_target] が見つかりません |
説明 上記の原因が実際の状況に当てはまらない場合は、次の方法を試すことができます。
|
| DTS-10046とDTS-30020 | SQL文が期待どおりに実行されません。 | DTS-10046: execute sql: CREATE TABLE if not exists 'dts. 'table_name' ( 'id' int(11) NOTNULL,'column1. bigint(20) NOT NULL, PRIMARY KEY ('id')) ENGINE=InnoDB DEFAULTCHARSET=utf8 failed。 TransactionTableの作成に失敗しました。 原因: MySQLSyntaxErrorException: テーブル 'table_name' のユーザー 'username' @ 'ip_address' に対してCREATEコマンドが拒否されました | ほとんどの場合、システムはこのエラーコードとともにデータベースに固有のエラーメッセージを表示します。 エラーメッセージに記載されているSQL文を確認し、エラーを修正します。
|
| DTS-70004 | SQL文が期待どおりに実行されません。 | DTS-70004: executeステートメントfailed: /* dts_id=dtsaaaaaaaaa */alter table'xxx'.'yyy' modify column 'aaa' INTデフォルト0コメント 'bbb' 原因: SQLException: [15018、2021030506452201000000420803151947572] modify column type is not supported, col=x, oldType=bigint, newType=int | ターゲットデータベースがAnalyticDB for MySQLの場合、エラーメッセージが返されます。
|
| DTS-70004:executeステートメントに失敗しました: /* aaaaaaaaaaMysqlEngine(28)*/update 'xxx'.'yyy' set... エラー詳細メッセージ: Server shutdown in progress MySQLNonTransientConnectionException: Server shutdown in progress |
| ||
| DTS-70004:executeステートメントに失敗しました: /* aaaaaaaaaaMysqlEngine(27)*/update 'xxx'.'yyy' set... 原因: SQLException: null、サーバーからのメッセージ: 「Host '192.10.XX. XX' はこのMySQLサーバーに接続できません」 |
説明 エラーを修正したら、タスクを再起動する必要があります。 | ||
| DTS-70004: executeステートメントに失敗しました: /* bg6l15vf29l1b0vMysqlEngine (16) */insertinto 'xxx'.'yyy'... エラーの詳細メッセージ: テーブル 'xxx.yyy' は存在しませんMySQLSyntaxErrorException: テーブル 'xxx.yyy' は存在しません |
説明 エラーを修正したら、タスクを再起動する必要があります。 | ||
| o3z5bntMysqlEngine(0)*/insert into'xxx'. 'yy' 。.. エラー詳細メッセージ: 列 'aaa' cannot be nullMySQLIntegrityConstraintViolationException: 列 'aaa' cannot be null |
| ||
| DTS-70004: executeステートメントは失敗しました:/* s2gb356ds228bt8MysqlEngine(0)*/insert into 'xxx'.'yyy' ('...')values(...)error detail message:INSERTコマンドはuser'user' @ '100.104.175.31 'for table 'yy' に拒否されました |
| ||
| DTS-70002 | データベースを接続できないか、対応するデータベースまたはテーブルが存在しません。 | DTS-70002: テーブルの詳細情報の取得が151回後に失敗しました (ユーザー: db_name、データベース: table_name) MySQLSyntaxErrorException: table 'db_name.table_name 'は存在しません |
|
| DTS-60001 | ソースデータベースに接続できません。 | DTS-60001: 接続の作成に失敗しました (url:ip_address:port、user: username) 原因: SQLException: user'username' @ 'ip_address' のアクセスが拒否されました (パスワード: YESを使用) |
説明 上記の原因が実際の状況に当てはまらない場合は、次の方法を試すことができます。
|
| DTS-61015 | ソースデータベースに接続できません。 | DTS-61015: 接続の作成に失敗しました (url:ip_address:port、user: username) 原因: MySQLNonTransientConnectionException: データソースは接続の確立を拒否しました、サーバーからのメッセージ: "Too many connections" |
説明 上記の原因が実際の状況に当てはまらない場合は、次の方法を試すことができます。
|
| DTS-71016 | 接続先データベースは接続できません。 |
|
|
| DTS-10015 | Redisデータベースは接続できません。 | DTS-10015: 到達不可能なredis network.JedisConnectionException: poolJedisConnectionExceptionからリソースを取得できませんでした: ip_addressへの接続に失敗しました: portConnectException: Connection timed out (Connection timed out) |
|
| DTS-30005 | 内部処理ではメタデータ情報を保存できません。 | DTS-30005: 変更されたジョブの進行状況情報を保存できませんでした原因: SQLException: 結果コンテンツ予期しません。 3時間1を期待する、実際には [2、1、1] |
|
| DTS-30011 | データがターゲットデータベースに書き込まれると、例外が発生します。 | DTS-30011:put 2048 records error, currentRunningSQL:insert ignore into 'xxx'.'yyy'(...), currentRunningRecordRange:{id:5362875948821643265,xxx.yyy,field:DefaultRecordField:{fieldName=aaa, dataType={typeName:BIGINT, typeId: nuleId:-5, null=encoding, value unique=true, primary=true,generated=false},leftValue:1293615822270500864,rightValue:1311217506282770432,partition:null}cause: BatchUpdateException: テーブル 'yyy' is full SQLException: テーブル 'yyy' is full |
|
| DTS-30011: put 2048 records error, currentRunningSQL:insert ignore into'xxx'.'yyy'(...:{id:4958981218625388545,schema:xxx.yyy,field:DefaultRecordField:{fieldName=aaa, dataType={typeName:INTEGER, typeId:4, isLobType:false=nullable, Value=, null primary=true,generated=false},leftValue:512021,rightValue:1024022,partition:null} 原因: BatchUpdateException: ロック待機タイムアウトを超えました。 |
| ||
| DTS-30011: put 2048 records error, currentRunningSQL:insert ignore into'xxx'.'yyy'('...,currentRunningRecordRange:{id:4050997257913237860,schema:xxx.yyy,field:DefaultRecordField:{fieldName=id, dataType={typeName: nullisourceases, type=encoding, null, null, null, value} unique=true, primary=true,generated=false},leftValue:5424204045,rightValue:5424982251,partition:null} 原因: SQLException: MySQLサーバーは -- 読み取り専用オプションで実行されているため、このステートメントを実行できません |
| ||
| DTS-1051009 | DTSがMySQLデータベースのバイナリログを解析するときに例外が発生します。 | java.IOEException: java.lang.IllegalArgumentException: 有効なタイプが失敗、列: column_name、タイプ: type_number |
|