2015-04-12 2 views
0

Im new to sql and worklight. Im следует за SQL-Adapter tutorial от IBM Worklight и импортирует образец кода в студию worklight.Worklight, SQL-Adapter, Пользователь, указанный как определитель ('mobilefirst' @ 'localhost'), не существует

После развертывания адаптера я выбираю Run as -> Call Mobilefirst Adapter.

Это мой ответ на процедуры "getAccountTransactions1":

{ "isSuccessful": true, "resultSet": [ ]} 

Это мой ответ на процедуры "getAccountTransactions2":

{ "errors": [  "Runtime: Failed to retrieve data with procedure : getAccountTransactions" ], "info": [ ], "isSuccessful": false, "warnings": [ ]} 

И это ошибка консоль для процедуры "getAccountTransactions2"

FWLSE0101E: причиненный: [адаптеры проекта] java.sql.SQLException: Пользователь Fied как DEFINER («mobilefirst» @ «локальный») не existjava.lang.RuntimeException: Не удалось получить данные с помощью процедуры: getAccountTransactions

Я думаю, что я что-то не так с пользователем SQL «mobilefirst» @ "локальный ', но я не знаю, почему, потому что я использую пользователя root в SQLAdapter.xml.

И как установить разрешение для пользователя «Worklight», если я использую его как значение по умолчанию для этого образца кода?

Image for error console

+0

Проверьте мой ответ, если это помогло вам, не забудьте выбрать его как правильный ответ. –

ответ

0

Вы упомянули пользователя "mobilefirst", что делает это, кажется, как вы используете MobileFirst Platform Foundation 6.3 или 7.0 (ранее известный как «Worklight "), но по какой-то причине вы следуете/используете образец из Worklight 6.0.0.0 ... почему?

Вы каким-то образом неоднозначную что-то в вашей базе данных ...

Что когда-либо причина беспорядка, что вы сделали, самое простое решение для вас, чтобы просто предоставить все разрешения как mobilefirst пользователя @ LOCALHOST как а также Worklight @ localhost.

Затем вам необходимо также убедиться, что в XML-файле вашего адаптера вы используете того же пользователя - либо «mobilefirst», либо «Worklight» (тот же пользователь из базы данных, для которой вы предоставили все разрешения).

Для получения точного запроса для запуска вы можете обратиться к ответу Станиславаса - просто замените «root» соответствующим именем пользователя.

И не следует смешивать старые образцы с новыми выпусками продукта ...

+0

да, я смущен этими версиями. После грандиозных всех разрешений для Worklight @ localhost с 6.0.0.0, он работает – BraveWolf

+0

Не могли бы вы рассказать мне, почему «resultSet» пуст? – BraveWolf

+0

Если я правильно помню, вы должны указать номер счета в окне. "12345". –

0

Пользователь, который создал эту процедуру был удален. Если вы воссоздаете этого пользователя, он должен устранить вашу ошибку.

Вы можете попробовать использовать:

grant all on *.* to 'root'@'%' identified by 'password' with grant option; 
+0

это очень helpul, спасибо – BraveWolf

Смежные вопросы