我们有时候需要在本地数据库的存储过程中 或者在其他SQL语句中 要访问一个远程数据库 我们可以这样做
在存储过程中连接远程数据库并进行 *** 作
查看远程数据库的相关数据
SERVICE_NAME
两种方式:
第一种 more $ORACLE_HOME/neork/admin/tnsname ora
一般是数据库的SID
第二种 echo $ORACLE_SID
修改本地数据库的
vi $ORACLE_HOME/neork/admin/tnsname ora
添加如下
DB LINK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库地址hotname)(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = 远程数据库的SERVICE_NAME)
)
)
测试连接是否成功
在本地数据库运行
tnsping DB LINK
如果成功 可以再使用:
sqlplus username/password@DB LINK
成功进入代表配置成功
在本地数据库中创建远程连接
create database link mylink connect to 用户名 identified by 密码 using DB LINK ;
运行如下 检查连接是否已经创建
select from user_db_links
在存储过程中应用
CREATE OR REPLACE PROCEDURE remoteAccess AS
TYPE t_ReadUser IS REF CURSOR;
v_CursorVar t_ReadUser;
DECOUNT NUMBER( );
Begin
SELECT FROM 表明@mylink;
其他 *** 作
dbms_output put_line( END );
EXCEPTION
WHEN OTHERS THEN
dbms_output put_line(SQLERRM);
ROLLBACK;
END;
/
lishixinzhi/Article/program/Oracle/201311/17828
POST注入 有两种方法来进行post注入,一种是使用--data参数,将post的key和value用类似GET方式来提交。二是使用-r参数,sqlmap读取用户抓到的POST请求包,来进行POST注入检测。 查看payload 之前一直是加本地代理,然后用burpsuit来看sqlmap的payload,到现在才发现用-v参数就可以实现。一直认为-v实现的只是控制警告,debug信息级别。实际上使用-v 3就可以显示注入的payload,4,5,6还可以显示>
公司使用linux开发机进行程序开发时,由于开发用
Oracle数据库
是由日方提供,所以经常使用sqlplus连接到
远程数据库
上进行开发,
例如:sqlplus
username/password@servicename
于是想,用我的两台电脑
双机互联
试一试,也玩个
远程连接
。实验如下:
首先在我的台式机上安装了
Oracle9i
的
数据库管理系统
,并建立了一个数据库实例:xy然后为该实例新增了一个用户,用户名和密码都是kxy01
。启动实例xy后,在台式机上,直接在cmd环境键入:sqlplus
kxy01/kxy01@xy
就可以连接上数据库,呵呵,想来本地连接都是不费吹灰之力就行的。
之后,在
我的笔记本
上安装了Oracle9i的Client工具。然后试着直接用上述命令访问,显然是不行的,系统返回无法解析服务名的错误信息。
要实现连接到远程数据库,先了解一下相关知识吧,查了一下书。原来,
Net
Configuration
Assitant
的工具,应该就是它了。启动之:
Net
Configuration
Assitant共提供了4个配置功能:
监听程序配置,
命名方法配置,
本地网络服务名配置
目录使用配置。
要从远程位置连接Oracle数据库,必须配置Oracle网络监听程序。
Net
Configuration
Assitant
可以用于此项配置工作,启动后选择监听程序配置,一路下一步即可。
之后点开命名方法配置,系统已经默认提供了三种,其他两种也不太认识,干脆不改了,直接点后退,回到
主菜单
。
主菜单中,第三项是本地网络服务名配置。要通过网络访问Oracle数据库或其他服务,要使用网络服务名,该项配置允许使用由本地命名解析的网络服务名。而第四项为目录使用配置,点开一看,居然要选择
目录服务器
,我这一共就两台电脑,要什么目录服务,看来第四项不适合本实验了,显然,关键配置就在第三项:本地网络服务名配置。
将其点开,选择添加网络服务名 *** 作,然后会询问你希望访问何种版本的Oracle数据库服务。
按照常理,我装的是Oracle9i自然应该选择第一个(Oracle8i或更高版本数据库服务),可经过实践证明,只有选择第二个(Oracle8i发行版80数据库或服务)才能正常实现远程连接,不明其中原因,也就只有选第二个拉。
然后输入我的数据库实例SID:xy然后选择网络协议,双机互联应该选择TCP吧,再然后填写数据库所在的
主机名
:kxyhome
。
端口号
采用默认的1521。
点击下一步,进行数据库连接的测试,测试成功后进行网络服务名的填写,这个名字就应该是sqlplus连接时候用的服务名了,这里我们使用:xyhome之后一切配置完成,来到命行,使用sqlplus进行连接:sqlplus
kxy01/kxy01@xyhome成功啦!
1、oracle数据库实例在安装oracle的时候就已经建好了,重建的话很麻烦,建议轻易不要重建。
2、建表很简单
create table table_name(字段1 类型,字段2 类型,字段3 类型);
另外说明一下:oracle中管理数据库是以用户为基准的,换句话说不同的用户就相当不不同的'数据库',不同的用户之间在没有赋权限的情况下是互相不可见的,这就保证了数据的独立性。
---
以上,希望对你有所帮助。
Oracle创建与使用一般分下面几步:
1、创建数据库;
2、创建表空间,配置存放数据文件的目录;创建用户和数据表时需要用到表空间,最好创建单独的表空间;
3、创建用户,以后在程序中连接数据库时需要用到用户,系统用户如sys/system一般用于管理数据库;创建用户时需要选择表空间;
4、创建数据表,根据业务设计数据表和表间关系;创建数据表时需要选择用户和表空间;
5、建议安装数据库开发工具,本人用的是PL/SQL Developer,方便简洁,用于编写触发器、存储过程、sql语句等。
对于初学者,还是建议找一本oracle基础书籍看一看。
以上就是关于在存储过程中连接远程数据库并进行 *** 作全部的内容,包括:在存储过程中连接远程数据库并进行 *** 作、怎样使用sqlplus连接oracle11g数据库、如何用 oracle sqlplus 登录远程数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)