在混合应用中调用 SQL 适配器
call SQL Adapter in hybrid app
我正在尝试从 DB2 获取数据。调用 SQL 适配器后,我在 LogCat 中收到以下错误:
Procedure invocation error. Class Cast:
org.mozilla.javascript.NativeJavaObject incompatible with
org.mozilla.javascript.Function
适配器XML
<dataSourceDefinition>
<driverClass>com.ibm.as400.access.AS400JDBCDriver</driverClass>
<url>jdbc:as400://host/HRCORE</url>
<user>HRCORE</user>
<password>HRCORE</password>
</dataSourceDefinition>
在 LogCat 中出现这个错误后,我从 loadFailure 函数中得到了注释
var invocationData = {
adapter : "SQLAdapter",
procedure : "getTypeFromSubjectTabele",
parameters : []
};
WL.Client.invokeProcedure(invocationData, {
onSuccess:this.loadSucess,
onFailure:this.loadFailure,
});
适配器实现
var getTypeFromSubjectTabele = WL.Server.createSQLStatement("SELECT type FROM subject");
function getTypeFromSubjectTabele(){
WL.Logger.warn("INSIDE ADAPTER getTypeFromSubjectTabele");
return WL.Server.invokeSQLStatement({
preparedStatement: getTypeFromSubjectTabele,
parameters : []
});
}
我认为问题是您对变量和函数使用了相同的名称(请参阅“Function Declaration Overrides Variable Declaration When Hoisted”部分)。给每个人一个唯一的名字,看看这是否解决了这个特定问题。
我正在尝试从 DB2 获取数据。调用 SQL 适配器后,我在 LogCat 中收到以下错误:
Procedure invocation error. Class Cast: org.mozilla.javascript.NativeJavaObject incompatible with org.mozilla.javascript.Function
适配器XML
<dataSourceDefinition>
<driverClass>com.ibm.as400.access.AS400JDBCDriver</driverClass>
<url>jdbc:as400://host/HRCORE</url>
<user>HRCORE</user>
<password>HRCORE</password>
</dataSourceDefinition>
在 LogCat 中出现这个错误后,我从 loadFailure 函数中得到了注释
var invocationData = {
adapter : "SQLAdapter",
procedure : "getTypeFromSubjectTabele",
parameters : []
};
WL.Client.invokeProcedure(invocationData, {
onSuccess:this.loadSucess,
onFailure:this.loadFailure,
});
适配器实现
var getTypeFromSubjectTabele = WL.Server.createSQLStatement("SELECT type FROM subject");
function getTypeFromSubjectTabele(){
WL.Logger.warn("INSIDE ADAPTER getTypeFromSubjectTabele");
return WL.Server.invokeSQLStatement({
preparedStatement: getTypeFromSubjectTabele,
parameters : []
});
}
我认为问题是您对变量和函数使用了相同的名称(请参阅“Function Declaration Overrides Variable Declaration When Hoisted”部分)。给每个人一个唯一的名字,看看这是否解决了这个特定问题。