Worklight,SQL-Adapter,指定为定义者的用户('mobilefirst'@'localhost')不存在

时间:2015-04-12 17:40:18

标签: sql ibm-mobilefirst worklight-adapters

我是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用户用作此示例代码的默认值,如何为其设置权限?

Image for error console

2 个答案:

答案 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"使用适当的用户名。

并且不要将旧样品与新产品发布混合......