如何用sqlplus远程连接数据库(转载)

如何用sqlplus远程连接数据库(转载),第1张

例如: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发行版8.0数据库或服务)才能正常实现远程连接,不明其中原因,也就只有选第二个拉。

然后输入我的数据库实例SID:xy然后选择网络协议,双机互联应该选择TCP吧,再然后填写数据库所在的主机名:kxyhome

。端口号采用默认的1521。

有个源数据库,有个目的数据库,把源数据库的地址和密码写好,再把目的数据库的地址和账号密码填好就可以导入了。

@后面写数据库ip或者自己配的tns里的自定义的名字。管理员是sysman,口令是oem_temp。

方法一:

<%

dim conn

set conn=server.createobject("ADODB.connection")

conn.open "PROVIDER=SQLOLEDBDATA SOURCE=(local)UID=用户名PWD=密码DATABASE=数据库"

Set conn = Server.CreateObject("ADODB.Connection")

DSNtemp="DRIVER={SQL Server}SERVER=(local)UID=用户名PWD=密码DATABASE=数据库"

conn.open DSNtemp

%>

方法二:

<%

option explicit

dim startime

dim conn

dim connstr

dim db,pass_word,User_ID,Data_Source

startime=timer()

db="数据库名称XK"

Pass_word="帐号密码123456" 

User_ID="登陆帐号sa" 

Data_Source="服务名称或者ip127.0.0.1" 

Set conn = Server.CreateObject("ADODB.Connection")

connStr="Provider=SQLOLEDB.1Password='"&pass_word&"'Persist Security Info=TrueUser ID='"&User_ID&"'Initial Catalog='"&db&"'Data Source='"&Data_Source&"'"

conn.Open connstr

function CloseDb

Conn.close

Set conn = Nothing

End Function

(1)服务器端数据库启动正常

(2)服务器端监听正常启动,并且状态正常

(3)配置客户端配置文件(tnsnames.ora)

(4)sqlplus 用户名/密码@连接名

连接名是tns文件中XXX = ()一串文字中前面的XXX,具体是哪个要看后面的ip来决定


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

原文地址: https://outofmemory.cn/sjk/6907807.html

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

发表评论

登录后才能评论

评论列表(0条)

保存