ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle数据库使用Navicat premium创建用户时遇到的坑

2020-02-19 18:05:13  阅读:518  来源: 互联网

标签:用户名 premium 创建 用户 大写 Navicat manager Oracle


       最近受疫情影响,所以一直是远程办公,所以在家无法直接连接公司的数据库,于是自己需要本地创建数据库。创建完数据库后,在运行项目时,一直报错,错误大致的描述就是连接出错,无法连接数据源之类的;

因为一直用的是Navicat premium这个工具,之前偶尔也用PLSQL/Developer,在创建项目中需要使用的三个库(三个用户)使用的是Navicat;当时没有注意创建用户时的一些问题,导致项目连接不上数据库。其实问题还是因为Navicat中创建用户时大小写的规则问题。现在做一下总结。

1、使用Navicat创建Oracle数据库用户时,用户名用小写或者大写,在用户视图界面都会自动转换成大写,接下来演示一下:

使用查询窗口创建一个用户ttsp,然后刷新数据库:

可以看到左侧的数据实例直接转换成大写的TTSP

然后再删除用户ttsp,刷新用户

然后再用大写的创建一个用户TTSP,授予dba权限

看到用户是大写,小写的创建用户也是大写;

接下来创建一个用户,使用双引号

可以看到左边看到的用户名确实是小写的ttsp,注意了坑就在这里,如果你只是看到这个地方显示的是ttsp,然后你在项目中数据源配置文件中,使用ttsp为用户名,就会报错;(可以看到我左边建立了一个manager用户和MANAGER用户,对,这个是项目中用到的,manager用户就是用的这种方式创建的,但是自己忘记了,年前创建过一次);

为了演示manage用户连接出错,先把MANAGER用户删除

注意用户下有数据表时,删除语句要加上cascade;不然会报错的,之前演示的没有加cascade,是因为是一个空用户。

现在只剩manager用户了(使用的是create user "manager" identified by "manager");

现在切换到项目的配置文件中,启动项目

然后在浏览器中访问项目:

 

可以看到直接在配置文件中配置manager用户,密码是manage,项目启动会报错:无效的用户名/密码,登录被拒绝;所以这样直接查看Navicat的视图页面中用户配置数据源会出错!

接下来用PLSQL/Developer验证一下:

 

也会提示这个错误

但是如果用"manager"/"manager"来登录就可以登录成功

 

 

接下来再Navicat中重新创建MANAGER用户(因为刚才为了排除干扰MANAGER用户给删除了);

 

 传输完成之后,MANAGER用户下就有数据了

然后删除"manager"用户,也是为了排除干扰(注意删除用户前需要先断开用户的连接)

没了"manager"用户,然后在项目中修改数据源配置

可以看到修改配置后,启动项目虽然有错,但是没有报用户名及密码无效的错误;然后再到浏览器中访问项目:

 可以正常进入主页了!

有趣的是,在项目中把数据源配置改一下,把用户名和密码改成小写manager,发现照样可以连接

 

照样可以访问,此时配置的manager用户其实就是MANAGER用户(相当于没有区分大小写),用PLSQL/Developer测试也是一样。(注意我用的Oracle10g,所以用户名和密码默认不区分大小写,Oracle11g及以后是区分大小写的,可以通过设置alter system set sec_case_sensitive_logon=false来不区分大小写);所以创建用户的时候直接创建大写的即可,最好不用带双引号去创建用户。

 

 

xiaomifeng1010 发布了74 篇原创文章 · 获赞 20 · 访问量 1万+ 私信 关注

标签:用户名,premium,创建,用户,大写,Navicat,manager,Oracle
来源: https://blog.csdn.net/u011174699/article/details/104391842

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有