C/C++教程

Oracle数据库工程实训笔记

本文主要是介绍Oracle数据库工程实训笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Oracle的配置

一、配置监听和本地服务名配置

分别是 E:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN 下的这两个文件:

image-20210908155840416

监听配置完之后,执行以下命令登录测试监听是否配置好:

sqlplus system/123@XE

system是用户,123是密码

tnsnames.ora中可以添加,如下图:

image-20210908160008750

注意添加的SERVICE_DATA属性的取值必须和服务的一致,这里从下图的服务名称可以看出是XE

image-20210908160153034

务必要保证这两个服务是正在运行的。

二、软件的使用

1. PLSQL Developer的使用

image-20210908160343842

打开之后,database选择我们刚才在tnsnames.ora中配的,然后输入密码即可登录:

image-20210908160423508

然后再用user01用户和定义的密码登录:

image-20210908161302146

2. sqldeveloper的使用

image-20210908161558067

进来之后,点击新建连接:

image-20210908162224332

image-20210908210504132

image-20210908212340595

进来之后,右击编辑用户,还可以进行权限等授予:

image-20210908212450833

还可以查看对应的sql语句:

image-20210908212503978

三、关于Oracle的ojdbc jar包

因为阿里镜像下载不到ojdbc的jar包,所以我们用oracle11g自带的jar包安装到本地maven仓库:

E:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib进入这个文件夹下

image-20210912222252262

进入cmd,输入:

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true

-DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3指定的则是如下图所示的东西:

<dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
</dependency>

-Dfile=ojdbc6.jar是指定路径,因为进入到这个文件夹下再打开的cmd,所以直接路径写ojdbc6.jar就行了。

image-20210912222329760

安装成功之后,来到自己的本地maven仓库:F:\local_repository\com\oracle\ojdbc6

image-20210912222716033

然后maven项目的依赖就可以添加了。

power designer的配置和使用

一、64位power designer连接32位Oracle

所需文件已经下载到本地,位置D:\IDM Download\software\PD16.6.x64

1. 安装PowerDesigner16.6 64位版本

1.安装:运行PowerDesigner16x64_Evaluation.exe
2.破解:解压PowerDesigner16x64_crack.rar,将pdflm16.dll覆盖PowerDesigner安装路径的dll

2. 安装客户端软件包

(http://www.oracle.com/technetwork/topics/winx64soft-089540.html去下载适合自己的版本)

1.将Oracle客户端软件基本包、odbc包解压到同一目录instantclient_11_2(版本必须一致,且均为64位):

instantclient-basic-windows.x64-11.2.0.4.0.zip

instantclient-odbc-windows.x64-11.2.0.4.0.zip

2.以管理员身份运行odbc_install.exe,完成安装。

image-20210908215255596

然后进入控制面板查看有没有安装成功:

image-20210908215526797

点击管理工具:

image-20210908215602240

image-20210908215636135

有这个表示驱动安装成功!

3. 创建用户odbc数据源

1.添加“用户DSN”,选择“oracle in instantclient_11_2”(如果第二步成功可以看到这个选项)
【如果出现错误,如出现14001错误,应用程序无法启动,则表示缺少C++运行库,转第四步】

2.配置odbc相关参数
Data Source Name:自己随便写
Description :可以空白
TNS Service Name::/
User ID :数据库连接用户

image-20210908221111024

3.测试连接

image-20210908221349657

完成之后即可看到刚刚添加的bwh

4. 安装C++运行库(第3步有问题才需要)

如果第三步无法创建“oracle in instantclient_11_2”数据源,则运行“vcredist_x64.EXE”

二、power designer逆向工程(需要完成第一项)

从file选择:

img

用的什么版本Oracle就选什么版本:

image-20210908221933219

选择Using a data source

image-20210908222106888

选择刚刚配好的bwh并输入密码:

image-20210908222226462

然后尽情的选用户选择表导入:

image-20210908222431473

最后生成对应的物理模型,大功告成!!!

image-20210908222600924

三、power designer正向工程

image-20210908223230564

image-20210908223335828

image-20210908223411045

Oracle语法

E:\oraclexe\app\oracle\oradata\XE表空间文件的位置

-- 创建表空间
create tablespace test01_data datafile 'E:\oraclexe\app\oracle\oradata\XE\test01_data01.DBF' size 10M;

-- 创建临时表空间
create temporary tablespace test01_temp tempfile 'E:\oraclexe\app\oracle\oradata\XE\test01_temp01.DBF' size 10M;

-- 创建用户并分配表空间
create user user01
  default tablespace test01_data
  temporary tablespace test01_temp
  identified by user01pwd
  quota unlimited on test01_data;

-- 授予登录、连接权限 
grant CONNECT to user01 with admin option;
-- 标准开发人员角色的权限
grant RESOURCE to user01 with admin option;
GRANT EXP_FULL_DATABASE TO user01;
GRANT IMP_FULL_DATABASE TO user01;
GRANT DEBUG CONNECT SESSION TO user01;
GRANT DEBUG ANY PROCEDURE TO user01;
grant execute any procedure to user01 with admin option;

-- 回收建表权限
revoke all from user01;

-- 删除表空间
DROP TABLESPACE test01_data INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE test01_temp INCLUDING CONTENTS AND DATAFILES;

-- 删除用户
drop user user01;

-- 查看表空间
select * from v$tablespace;
-- 查看系统权限
select * from system_privilege_map;
-- 查看表权限
select * from table_privilege_map;

oracle实现字段自增:

create sequence booksid_auto start with 1 increment by 1;

create or replace trigger booksid_auto_trigger --(test_trigger) 触发器名称
    before insert
    on "books"  -- 表名称
    for each row  -- for each row : 对表的每一行触发器执行一次
begin
    select booksid_auto.nextval into :new."bookID" from dual; --  等于新插入的一行, "bookID" 是 "books" 表要实现自增的主键列
end;

这篇关于Oracle数据库工程实训笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!