在DBeaver下使用Oracle11g数据库所遇到的坑

问题1:在哪写SQL语句?
我之前一直在General项目的Script.sql下写SQL语句,然后就有错误,满脸问号??连接成功了竟然执行不了SQL语句。。
错误如下:no active connection
在DBeaver下使用Oracle11g数据库所遇到的坑_第1张图片
解决方案:
在连接成功的Oracle-XE处,点击右键,选择SQL编辑器
在DBeaver下使用Oracle11g数据库所遇到的坑_第2张图片
就会有一个新的Script.sql,在此编写SQL语句。
在DBeaver下使用Oracle11g数据库所遇到的坑_第3张图片
问题2:新建用户,并连接
如果使用system用户登录的话,system里就已经有了许多表,所以应该新建用户,在此就是新建模式
在DBeaver下使用Oracle11g数据库所遇到的坑_第4张图片
解决方案:
1.先在system登陆连接的Oracle-XE,新建用户:在模式处右击,然后点击新建模式
因为在其他的用户登陆下无法创建新用户
在DBeaver下使用Oracle11g数据库所遇到的坑_第5张图片
2.设置新用户的用户名和密码
在DBeaver下使用Oracle11g数据库所遇到的坑_第6张图片
3.打开运行SQL命令行,输入代码:

conn system //登陆system
grant connect,resource to username //授权

在DBeaver下使用Oracle11g数据库所遇到的坑_第7张图片
4.创建新连接
在Oracle-XE处,右击,选择创建->连接
在DBeaver下使用Oracle11g数据库所遇到的坑_第8张图片
选择新连接类型:Oracle
在DBeaver下使用Oracle11g数据库所遇到的坑_第9张图片
Oracle连接设置:
具体设置,我在我写的一篇博客有写到
在DBeaver下使用Oracle11g数据库所遇到的坑_第10张图片
这样就OK啦。
在DBeaver下使用Oracle11g数据库所遇到的坑_第11张图片
问题3:字符串DATE的一些注意事项
在这个Oracle11gXE的数据库中没有DATETIME字符,只有DATE和TIMESTAMP
DATE:精确到秒
例如:2020-05-19 12:09:31
TIMESTAMP:精确到毫秒
插入数据包含时间时:
要用to_date或者to_timestamp
例如:

INSERT INTO EMP VALUES 
(7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, NULL, 10); 

如果时间的字符类型为DATE,要改成

INSERT INTO EMP VALUES 
(7782, 'CLARK', 'MANAGER', 7839, to_date('1981-06-09', 'yyyy-mm-dd'), 2450, NULL, 10); 

问题4:不能同时执行多条SQL语句,但是可以单条执行
在DBeaver下使用Oracle11g数据库所遇到的坑_第12张图片
解决方案:
选中多条SQL语句后,使用快捷键:alt+x 执行
就好啦。

你可能感兴趣的:(sql,数据库)