我是sql和worklight的新手。我跟随IBM Worklight的SQL-Adapter tutorial,并将示例代码导入worklight studio。
部署适配器后,我选择Run as - >致电Mobilefirst Adapter。
这是我对“getAccountTransactions1”程序的回复:
{ "isSuccessful": true, "resultSet": [ ]}
这是我对“getAccountTransactions2”程序的回复:
{ "errors": [ "Runtime: Failed to retrieve data with procedure : getAccountTransactions" ], "info": [ ], "isSuccessful": false, "warnings": [ ]}
这是程序“getAccountTransactions2”的错误控制台
FWLSE0101E:由以下原因引起:[project Adapters] java.sql.SQLException:指定为定义者的用户('mobilefirst'@'localhost')不存在java.lang.RuntimeException:无法检索数据与程序:getAccountTransactions
我认为我的sql用户'mobilefirst'@'localhost'有问题,但我不知道为什么,因为我在SQLAdapter.xml中使用root用户。
如果我将“Worklight”sql用户用作此示例代码的默认值,如何为其设置权限?
答案 0 :(得分:0)
创建该程序的用户已被删除。如果 你重新创建该用户,它应该解决你的错误。
您可以尝试使用:
grant all on *.* to 'root'@'%' identified by 'password' with grant option;
答案 1 :(得分:0)
您已经提到了用户" mobilefirst",这使您看起来像是在使用MobileFirst Platform Foundation 6.3或7.0(之前称为" Worklight") ,但出于某种原因,您正在关注/使用Worklight 6.0.0.0中的示例......为什么会这样?
你在某种程度上混淆了数据库中的某些东西......
您所做的混乱的原因是什么,最简单的解决方案是简单地向mobilefirst @ localhost用户以及Worklight @ localhost授予所有权限。
然后,您还需要在适配器的XML文件中确保您使用的是同一个用户 - " mobilefirst"或者" Worklight" (来自您已授予所有权限的数据库中的同一用户)。
要运行准确的查询,您可以参考Stanislovas的答案 - 只需替换" root"使用适当的用户名。
并且不要将旧样品与新产品发布混合......