当前位置: 首页 > 知识库问答 >
问题:

在Spring Data JPA中创建用户的参数化查询抛出丢失用户名或角色名异常

沃楷
2023-03-14

我试图使用本机查询使用spring data jpa在Oracle数据库中创建用户,但失败了,错误是:缺少用户或角色名异常

@Query(value="create user :userName identified by \"Qwert123!\"",nativeQuery=true)
void createUser(@Param("userName")String userName);

共有1个答案

松安民
2023-03-14

首先,您需要向该方法添加@modifiing注释,因为它正在执行DDL语句。

但是我认为用户名不能在SQL中作为参数传递,所以实际上必须编写一个自定义方法,在该方法中使用字符串连接组装语句。在这样做的时候,请确保参数经过了适当的消毒,并且不会为自己创建SQL注入漏洞。

 类似资料:
  • 为什么这显示错误... 第1行错误: ORA-65096:公用用户名或角色名无效

  • 问题内容: 我需要使用带有变量名的动态名称创建用户 例子 : 以下代码给出了语法错误。 我需要为创建的用户分配一个角色。 问题答案: 您不能将变量用作对象名称。你可以作弊 要么构建动态SQL,要么确保使用QUOTENAME防止SQL注入。

  • 我刚刚安装了甲骨文,它缺少斯科特模式。所以我试着自己生成它。我得到了sql脚本的Scott模式,但当我试图运行查询: 它显示以下错误: ORA-65096:oracle中的公用用户名或角色名无效。 基本上,它不允许我创建一个用户Scott。 为什么会这样?我如何解决我的问题?

  • 有没有更好的方法来实现这种设置(类似于组织设置,一个人可以属于几个组织并管理其中的一些/所有组织,而不必有几个帐户)? 我用的是Keycloak 4.6

  • 我是LDAP的新手,我尝试过在OpenLDAP上实现RBAC。我创建了一些用户(inetOrganizationPerson)并将它们放在组中(groupOfNames)。接下来,我创建了一些角色(organizationalRole)并将它们与用户组关联(RoleIncuspant),而不是直接将它们与用户关联。 1)/usr/local/bin/ldapsearch-x-b'ou=groups

  • 我无法在我的索引页面上显示经过身份验证的用户的角色和用户名。我用的是百里叶。所有角色用户都保存在内存中。我正在使用Springmvc编写和Web应用程序 我在我的pom中添加了依赖关系.xml 这是我的索引页: 我也希望: 这是我的安全配置类: 我也读了很多关于stackoverlew的问题,但我没有找到答案。我还阅读了官方蒂梅拉夫网站上的指南。 为什么我无法显示:“角色:用户”、“用户名:用户”