为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1.0.49
【操作系统】:WIN10
【CPU】:8
【问题描述】*:springBoot项目之前使用的是mysql数据库,现在适配达梦数据库,引入了security框架做权限验证,启动成功,登陆时报两个错误
org.springframework.security.authentication.InternalAuthenticationServiceException: PreparedStatementCallback; SQL [select client_id, CONCAT('{noop}',client_secret) as client_secret, resource_ids, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove from oauth_client_details where client_id = ?]; 第1 行附近出现错误:
无效的表或视图名[oauth_client_details]; nested exception is dm.jdbc.driver.DMException: 第1 行附近出现错误:
无效的表或视图名[oauth_client_details]
2023-12-11 15:44:41.130 ERROR [TID:N/A] 11228 --- [nio-8011-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
java.lang.IllegalArgumentException: Invalid characters (CR/LF) in header WWW-Authenticate
兄弟解决了嘛?我也遇到了。
1、数据库是大小写敏感还是不敏感,敏感的情况下表名是小写的情况下查询时需要对表加双引号,否则会转为大写,如果大写表名不存在会报错表不存在;
2、查看下连接用户是哪个用户,dm中创建用户后会自动生成一个同名模式,使用用户登录进去后,默认访问的是该用户下的表,若是一个用户下面存在多个模式的话,可以在连接串上加?schema=xxx,这样登录进去之后就可以访问该模式下的表了或者访问其他模式的表需要加:模式名.表名