# Oracle创建同义词授权用户使用

因公司一个项目需要和第三方WMS供应商做对接,开放数据库给对方访问,因考虑安全问题,给WMS开放的用户仅开放中间表的访问权限,通过同义词实现

1.创建中间表用户

CREATE USER erptowms IDENTIFIED BY erptowms;
GRANT CONNECT TO EPRTOWMS;  --允许连接
GRANT CREATE SESSION TO EPRTOWMS; --允许创建会话
GRANT CREATE SYNONYM TO kq2shr; --允许创建同义词

2.在我方数据库用户下创建中间表(例:

create table ZZERP_PDD_W(
OWNERID  varchar2(11),--  货主ID  
BILLCODE  varchar2(50),--  单据编号   
BILLSN  number(10),--  单据序号   
DATES  varchar2(10),--  日期   
ONTIME  varchar2(10), --  时间   
CAOZY  varchar2(11),--  操作员ID   
SALEMAN  VARCHAR2(20),--  销售员   
SUMMARIES  varchar2(200),--  摘要   
GOODSID  varchar2(11),--  商品ID   
ANGLEID  varchar2(11),--  维度ID   
NUM  NUMBER(14,2),--  数量  
TAXPRICE  NUMBER(14,4),--  含税价  
TAXAMOUNT  NUMBER(14,2),--  含税金额  
UNIT  varchar2(8),--  单位  
BATCHCODE  varchar2(50),--  批号   
PRODUCEDATE  varchar2(10),--  生产日期   
VALDATE  varchar2(10),--  有效期至   
CREATETIME  varchar2(19),--  创建时间   
ZT  varchar2(10),--  NULL   
STORELX  VARCHAR2(2),--  仓库类型  
ERPHW  VARCHAR2(20),--  业务维度  
DJBS  varchar2(3),--  单据标识  
REMARK  varchar2(256),--   备注
DEPT   varchar2(20))--   部门

3.授权,下传WMS表,允许WMS select,update -- erp用户下执行

grant select,update on ZZERP_PDD   to erptowms;

4.授权WMS反馈表,允许WMS select,insert -- erp用户下执行

grant select,insert on ZZERP_PDD_W  to erptowms;

5.创建同义词 --WMS用户下执行

CREATE OR REPLACE SYNONYM ZZERP_PDD_W FOR GZCW.ZZERP_BSD;