Я пытаюсь создать учетную запись для пользователя в MySql
от JdbcTemplate
с методом обновления. мой запрос идет как этотКак создать пользователя в MySQL из JdbcTemplate?
String sqlStatement = "CREATE USER [email protected]? IDENTIFIED BY ?";
Object[] values = new Object[3];
-
--
я положить требуемого значения Value [], такие как имя пользователя, локальный и пароль. И я уверен, что я помещаю ценности в ценности [].
Я выполнение этого запроса в
jdbcTemplate.update(sqlStatement, values);
Это дает мне эту ошибку ошибки.
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [CREATE USER [email protected]? IDENTIFIED BY ?]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation
at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:95) ~[spring-jdbc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) ~[spring-jdbc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660) ~[spring-jdbc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909) ~[spring-jdbc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970) ~[spring-jdbc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:980) ~[spring-jdbc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
Я был предоставить все разрешения на пользователя, которого я с помощью в connection.For подтверждения От верстаке я могу создавать пользователей с той же командой.
В моей связи URL Я использую ПК IP-адрес, как это: jdbc:mysql://10.35.34.169:3306/mydb
Вы помещали одинарные кавычки вокруг значений? в противном случае попробуйте «СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ»? »@?? ИДЕНТИФИЦИРОВАНО «?»; – CharlieS
Я думаю, что это обрабатывается JdbcTemplate. – InvincibleWolf
действительно, однако, краткий обзор спецификации говорит мне, что вы должны отправлять что-то более похожее на jdbcTemplate.update (sqlStatement, user, host, pw) – CharlieS