@@ -124,12 +124,12 @@ class VariableProcessor {
124124 /**
125125 * 동적 변수 처리
126126 * @param {Array } dynamicVars - 동적 변수 정의 배열
127- * @param {Object } dbAdapter - 데이터베이스 어댑터 인스턴스
128- * @param {string } dbKey - 데이터베이스 키
127+ * @param {Object } dbAdapters - 데이터베이스 어댑터 맵 (dbKey -> adapter)
128+ * @param {string } defaultDbKey - 기본 데이터베이스 키
129129 * @param {Object } globalVars - 전역 변수
130130 * @param {Object } configObj - 데이터베이스 설정 객체
131131 */
132- async processDynamicVariables ( dynamicVars , dbAdapter , dbKey , globalVars , configObj ) {
132+ async processDynamicVariables ( dynamicVars , dbAdapters , defaultDbKey , globalVars , configObj ) {
133133 // 동적 변수 초기화
134134 this . dynamicVariables = { } ;
135135
@@ -140,17 +140,23 @@ class VariableProcessor {
140140 if ( dynamicVar . name && dynamicVar . query ) {
141141 try {
142142 console . log ( `${ this . msg . dynamicVarProcessing } ${ dynamicVar . name } (${ dynamicVar . description || this . msg . noDesc } )` ) ;
143-
143+
144144 // 쿼리에서 변수 치환 (기존 변수들로)
145145 const processedQuery = this . substituteVars ( dynamicVar . query , globalVars ) ;
146146
147147 // 동적 변수에 지정된 데이터베이스 사용 (있으면), 없으면 기본값 사용
148- const targetDbKey = dynamicVar . database || dbKey ;
148+ const targetDbKey = dynamicVar . database || defaultDbKey ;
149149 console . log ( `${ this . msg . database } ${ targetDbKey } (${ dynamicVar . database ? this . msg . dynamicVarSpecified : this . msg . default } )` ) ;
150150
151+ // 대상 DB에 맞는 어댑터 선택
152+ const adapter = dbAdapters [ targetDbKey ] || dbAdapters [ defaultDbKey ] ;
153+ if ( ! adapter ) {
154+ throw new Error ( `DB adapter not found for key: ${ targetDbKey } ` ) ;
155+ }
156+
151157 // DB에서 데이터 조회
152- const pool = await dbAdapter . createConnectionPool ( configObj [ targetDbKey ] , targetDbKey ) ;
153- const result = await dbAdapter . executeQuery ( pool , processedQuery ) ;
158+ const pool = await adapter . createConnectionPool ( configObj [ targetDbKey ] , targetDbKey ) ;
159+ const result = await adapter . executeQuery ( pool , processedQuery ) ;
154160
155161 if ( result . recordset && result . recordset . length > 0 ) {
156162 const data = result . recordset ;
0 commit comments