通过配置本地数据库的tns配置文件实现:
专业从事成都做网站、成都网站建设、成都外贸网站建设,高端网站制作设计,微信小程序定制开发,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用H5技术+CSS3前端渲染技术,响应式网站建设,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。
去oracle安装目录下oracle\product\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用记事本打开,里边有远程数据库的tns连接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了
在实际项目中常常需要做接口提供给其他平台使用,需要给调用者提供Oracle数据库用户,此用户可能只能访问我方生产库中的某几张表,而且只能查询不能增删改,这就需要我们从Oracle数据库中给接口设置相应的权限,具体如下:
假设我方用户为scott,我们给第三方用户建立的接口用户为scott_read,我们开放给第三方用户的表为student表。
1.使用system用户登录:sqlplus system/password@orcl。
2.创建scott_read用户:create user scott_read(用户名) identified by tiger(密码)。
3.将connect和resource权限赋给scott_read用户:grant connect,resource to scott_read。
注意:此处一定注意不要将dba权限赋给scott_read,否则此用户可以操作我们数据库的任何东西,这是大忌。
4.将scott的student表查询权限赋给scott_read用户:grant select on scott.student(表或视图名) to scott_read。
5.创建同义词:create or replace synonym scott_read.student for scott.student。
至此,scott_read用户可以直接查询student表中的所有数据,并且不会给我们的数据库造成任何影响。
建议建立中间表来实现,不建议也不需要设置键值关联,建了反而会有问题
最简单的实现方式大概思路就是设计一个中间表(字段只要双方约定好就可以了),通过dblink的方式,他们系统往中间表里插入数据,你们从中间表里获取数据,这样大家互不影响