diff --git a/backend-node/src/database/OracleConnector.ts b/backend-node/src/database/OracleConnector.ts index b9360570..e68346d8 100644 --- a/backend-node/src/database/OracleConnector.ts +++ b/backend-node/src/database/OracleConnector.ts @@ -99,23 +99,35 @@ export class OracleConnector implements DatabaseConnector { try { const startTime = Date.now(); + // 쿼리 타입 확인 (DML인지 SELECT인지) + const isDML = /^\s*(INSERT|UPDATE|DELETE|MERGE)/i.test(query); + // Oracle XE 21c 쿼리 실행 옵션 const options: any = { outFormat: (oracledb as any).OUT_FORMAT_OBJECT, // OBJECT format maxRows: 10000, // XE 제한 고려 - fetchArraySize: 100 + fetchArraySize: 100, + autoCommit: isDML // ✅ DML 쿼리는 자동 커밋 }; + console.log('Oracle 쿼리 실행:', { + query: query.substring(0, 100) + '...', + isDML, + autoCommit: options.autoCommit + }); + const result = await this.connection!.execute(query, params, options); const executionTime = Date.now() - startTime; console.log('Oracle 쿼리 실행 결과:', { query, rowCount: result.rows?.length || 0, + rowsAffected: result.rowsAffected, metaData: result.metaData?.length || 0, executionTime: `${executionTime}ms`, actualRows: result.rows, - metaDataInfo: result.metaData + metaDataInfo: result.metaData, + autoCommit: options.autoCommit }); return {