尝试使用Apex Data Loader将数据从Salesforce传输到Oracle时遇到以下错误:
26937 [databaseAccountExtract] FATAL com.salesforce.dataloader.dao.database.Data
baseContext - Error getting value for SQL parameter: nkey__c. Please make sure
that the value exists in the configuration file or is passed in. Database conf
iguration: insertAccount.
database-conf.xml包含以下bean:
<bean id="insertAccount"
class="com.salesforce.dataloader.dao.database.DatabaseConfig"
singleton="true">
<property name="sqlConfig" ref="insertAccountSql"/>
<property name="dataSource" ref="dbDataSource"/>
</bean>
<bean id="insertAccountSql" class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">
<property name="sqlString">
<value>
INSERT INTO VANTROPO.SF_ACCOUNTCHANNEL (nkey__c)
VALUES (@nkey__c@)
</value>
</property>
<property name="sqlParams">
<map>
<entry key="nkey__c" value="java.lang.String"/>
</map>
</property>
</bean>
SDL(映射文件)具有以下值:
# Account Insert Mapping values for query from Salesforce (left) and insert/update to Oracle (right)
# SalesforceFieldName=OracleFieldName
nkey__c=NKEY__C
任何帮助表示感谢。
答案 0 :(得分:0)
我会让你的案例完全匹配......总是使用nkey__c
例如
更重要的是,摆脱映射文件中的任何空白......非常容易理解
nkey__c=nkey__cb
(b为空白)
P.S。这东西是垃圾。