MSSQLのクエリエグゼキュータにSelect benefitid from tr_benefittype where fiscal = '1'
句を挿入すると、その名前の列がないと表示されます。データベースを検索したところ、テーブルbenefitid
内に名前の付いた列が実際にないことがわかりました。tr_benefittype
この列名は、データベースに送信する前に何らかの方法で変更されていますか?
これがJAVAコードです。
m_risks = new TRRiskSet();
new TRRiskSQL().getRisks(m_con, m_risks, m_currObject.getClass().getName(),
m_currObject.getKey(), new String[] {"riskflag = 'R'"});
budSQL.getBudgets(m_con, m_budgets, m_currObject.getClass().getName(), m_currObject.getKey(),
new String[] {"currencyid = " + corpCurrencyID});
benSQL.getBenefits(m_con, m_benefits, m_currObject.getClass().getName(), m_currObject.getKey(),
new String[] {"currencyid = " + corpCurrencyID +
" and benefitid in (select benefitid from tr_benefittype where fiscal='1')"});
resSQL.getResourceBudgets(m_con, m_resources, m_currObject.getClass().getName(),
m_currObject.getKey(), null);
JavaコードがSQLクエリをデータベースに送信する前に変更しているかどうかを知りたいので、明らかに、有益な列を実際に呼び出さないようにします。」