Worklight 6.1.0 を使用してローカル LAN 内の DB2 に接続しようとしており、存在する場合はデータのルックアップのために Select Query を起動しています。しかし、私は以下のエラーを取得しています:
{
"errors": [
"Runtime: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DATABASE_NAME.REGISTRATION, DRIVER=3.58.82.\nPerformed query:\nSELECT * FROM DATABASE_NAME.registration where DATABASE_NAME.registration.Mob_No = ?"
],
"info": [
],
"isSuccessful": false,
"warnings": [
]
}
私のSQLアダプタの設定は以下のようになります:
<connectionPolicy xsi:type="sql:SQLConnectionPolicy">
<!-- Example for using a JNDI data source, replace with actual data source name -->
<!-- <dataSourceJNDIName>java:/data-source-jndi-name</dataSourceJNDIName> -->
<!-- Example for using MySQL connector, do not forget to put the MySQL connector library in the project's lib folder -->
<dataSourceDefinition>
<driverClass>com.ibm.db2.jcc.DB2Driver</driverClass>
<url>jdbc:db2://172.21.11.129:50000/MOBILEDB</url>
<user>db2admin</user>
<password>Newuser123</password>
</dataSourceDefinition>
</connectionPolicy>
そして、プロシージャを持つ js ファイルは次のようになります。
var selectStatement1 = "SELECT * FROM DATABASE_NAME.registration where DATABASE_NAME.registration.Mob_No = ?";
var procStmt1 = WL.Server.createSQLStatement(selectStatement1);
function registrationLookup(mobile){
WL.Logger.debug("Inside registrationLookup");
return WL.Server.invokeSQLStatement(
{
preparedStatement : procStmt1,
parameters : [mobile]
}
);
}
DB2 と Worklight の接続について調査した結果、以下のデータを worklight.properties ファイルに入れる必要があることがわかりました。
wl.db.username=db2admin
wl.db.type=DB2
wl.db.password=Newuser123
wl.db.driver=com.ibm.db2.jcc.DB2Driver
しかし、追加した後、アダプターをデプロイできず、「db2admin」が存在しないというエラーが表示されます。そのため、現在の質問のコンテキストではこの手順をスキップしました。しかし、このworklight.propertiesデータを追加せずにエラーが発生した後、http://www-01.ibm.com/support/docview.wss?uid=に従って「オブジェクトが存在しない」ように思えますswg21613531またはユーザーテーブルが存在しません。どんな提案も役に立ちます。 ノート:
- 私の IP アドレスは 172.21.11.125 で、Adapter for DB2 を呼び出しています。
- DB2 インスタンスは 172.21.11.129 @ 50000 で実行されています。
- server/lib に db2jcc_license_cu_9.5.jar と db2jcc_9.5.jar が既に追加されています。'_9.5' が追加された名前があり、両方の jar から削除し、db2jcc_license_cu.jar と db2jcc.jar のみを保持しました。