关于Oracle 12c R2没有Scott用户的解决办法
写在前面
以前在windows上安装Oracle 11g的时候没有碰到过这种问题,现在安装了Oracle 12c R2,发现没有Scott用户,可是我明明在安装的时候勾选了创建实例数据库,没有Scott用户,那我该如何操作示例数据库?百度了一圈之后,说是Oracle 12c的架构发生了变化,默认没有Scott用户,所以要使用,只能自力更生,自己创建。
创建Scott用户
既然默认没有Scott用户,那么我们就自己建一个,但是当我尝试执行create user scott identified by tiger;
的时候,报了个错,说公共用户名或角色名无效
前面说到了Oracle 12c的架构发生了变化,在CDB环境下所创建的用户为公共用,你可以使用show con_name pdbs;
命令查看当前登录用户的数据库环境,你可能会得到如下的结果:
1 | SQL> show con_name pdbs; |
创建公共用户或者说全局用户的语法与创建普通用户的语法不一样,正确的语法如下:
1 | CREATE USER c##scott IDENTIFIED BY tiger; |
所以创建用户的完整过程如下:
1 | // 在终端切换到SQL>模式 |
创建数据表
scott用户创建完之后,还需要创建数据表,新建一个scott.sql
文件(名称可随意起),添加如下内容:
1 | -- 创建数据表 |
在终端执输入:@/opt/oracle/scott.sql
执行sql文件,注意@符号后面是sql文件的路径,需要根据你自己文件的位置来调整,执行完之后,会在命令行看到如下的信息:
1 | Table created. |
到这里scott用户不存在的问题就解决了,你可以尝试在终端中输入select * from emp;
来查看是否能查询到相关的信息
在IDEA连接Oracle
上面我们是在命令行中连接Oracle数据库,接下来我们在IDEA中使用c##scott
用户连接Oracle数据库,打开IDEA,选择右侧的Database工具
接下来,点击面板上方的+
号,选择Data Source
,然后选择Oracle
完了配置用户名密码,以及数据库驱动
打开数据库驱动的配置面板,点击右侧的加号,选择自己下载好的数据库驱动包,点击apply应用,然后回到刚才的数据库设置面板,如果发现密码被清空了,再次输入即可
之后点击测试连接,如果出现successful说明测试连接成功了
测试成功后就可连接了
连接成功后左侧的代码编辑区会出现Oracle的控制台,而且右侧的控制面板上面会有一个红色的停止按钮
在控制台输入select * from emp;
并执行
到这里,在IDEA中连接数据库就完成了,其他数据库的连接方式也与此类似。OK,文章到这里就结束了。
参考文章: http://www.cnblogs.com/zangdalei/p/5482732.html