在存储过程中连接远程数据库并进行 *** 作

在存储过程中连接远程数据库并进行 *** 作,第1张

我们有时候需要在本地数据库的存储过程中 或者在其他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 登录远程数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10190685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存