SQL SERVER连接oracle数据库几种方法
--1 方式
--查询oracle数据库中的表
SELECTFROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN'
)DAIMINJOBS
--在sqlserver中创建与oracle数据库中的表同名的表
select into JOBS fromOPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User
ID=daimin;Password=daimin'
)DAIMINJOBS
select from JOBS
--2、方式
--在master数据库中查看已经存在的链接服务器
select from sysserversEXEC sp_addlinkedserver
@server = 'GE160',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'
--要在企业管理器内指定登录帐号
exec sp_dropserver GE160select from GE160DAIMINJOBS
delete from GE160DAIMINJOBS
--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。
SELECTFROM OPENQUERY(GE160, 'SELECT FROM DAIMINJOBS')
--3、方式
SELECT aFROM OPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMINJOBS) AS a
ORDER BY aJOB_ID
--4、方式 ODBC
--ODBC方式比较好办
SELECT AFROM
OPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是数据源名
DAIMINJOBS) AS
A
ORDER BY AJOB_ID
Oracle有内置的用户的,例如:sys,system是管理员的角色,安装的时候需要你设置密码。你create一个user之后就可以用该user来登陆Oracle了。创建连接的时候肯定要输入用户名和密码啊。
呢?本文我们通过一个实例来介绍这一创建过程,接下来就让我们来一起了解一下这一过程吧。 物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。 数据库之间的链接建立在DATABASE LINK上。要创建一个DATABASE LINK,必须首先在建立链接的数据库上设置链接字符串,即配置一个远程数据库的本地网络服务名。 数据库全局名称可以用以下命令查出: SQL>SELECT FROM GLOBAL_NAME; 修改可以用以下语句来修改参数值: SQL>ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE; oracle数据库之间进行连接通讯: 创建数据库链接的语法如下: CREATE [PUBLIC] DATABASE LINK link_name CONNECT TO username IDENTIFIED BY password USING 'zytydic' 其中: zytydic为本地tnsnameora中定义的链接串,内容如下: zytydic = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 1921681101)(PORT = 1521)) ) (CONNECT_DATA = (SID = orcl) ) ) 注意:创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。 这两种权限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK权限在DBA中)。一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。 创建数据库链接时,还可以使用缺省登录方式,即不指定远程数据库的用户名和密码: create public database link test_default_type_dblink using 'zytydic'; 在不指定用户名和口令的情况下,ORACLE使用当前的用户名和口令登录到远程数据库,假如你本地是以emcd用户登录的本地的数据库db_A,那么创建的DB Link test_default_type_dblink就是以本地的用户账户信息建立的,当要以此DB Link连接查看远程的数据库db_B的数据信息时,前提必须是db_B上也有同样的账户存在,即db_B上也有账户emcd且密码和db_A上的emcd的密码也是一致的,否则此DB Link不可用。 1 [2]
需要一些前提条件:
1、对方的主机能被连接(如在同一局域网内)
2、需要知道对方数据库IP、端口号、服务名
3、需要知道对方提供的管理数据库的用户名及密码
连接方法:
1、在本地的oracle安装目录,找到tnsnamesora文件,一般在~\oracle\product\1020\db_1\network\ADMIN目录下,如图:
2、用文本打开tnsnamesora文件,添加以下内容:
本地自定义实例名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP或数据库主机名)(PORT = 数据库端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 数据库服务名)
)
)
3、保存文件即可。
4、打开第三方工具,如plsq,输入对方提供的用户名及密码,选择新建的数据库链接即可。
安装Oracle
11g会自带一个叫做SQL
Developer的工具,打开SQL
Developer,如下图所示:
在SQL
Developer中我们新建一个连接,点击左上角的“绿色加号”如下图所示
创建数据库连接,如下图所示:
4
填写完配置以后可以点击“Test”来测试数据库连接是否正确,如上图所示,左下角有“Status:Success”则表明数据库连接正确。
oracle手动创建数据库步骤如下所示:
1编写初始化参数文件
2设置 *** 作系统环境变量
3创建实例
4以管理员身份连接数据库
5启动实例
6create
database
创建数据库
7运行数据字典脚本
8Oracle的网络配置
(客户端连接到服务端)
初始化参数文件
从%ORACLE_HOME%\admin\sample\pfile从复制initsmplora文件,并黏贴到$ORACLE_HOME%\database目录下,改名为init<sid>假设改为initzhouytora(init为文本文件)
对initzhouytora内容进行修改
新增参数
instance_name=zhouyt
db_domain=hdueducn
修改参数
db_name=zhouyt
db_block_size=8192(8kM)
remote_login_passwordfile=exclusive
*** 作系统环境变量
设置 *** 作系统环境变量oracle_sid指向数据库实例的名称
set
oracle_sid=zhouyt
该命令在window
dos窗口下只对当前有效,当关闭窗口则失效,想要一直有效,则需要在系统环境变量中修改
创建实例
实用工具oradim使用
在DOS窗口输入命令
oradim
-new
-sid
zhouyt
-intpwd
sys123(sys的密码,sys是管理员)
-startmode
auto
sid是Oracle在 *** 作系统中的“身份z号码”
管理员身份连接数据库
sqlplus实用工具登录数据库
在DOS命令输入sqlplus/nolog
只是登录状态
以数据库管理员身份连接数据库
在上面的基础上输入命令
connect
sys/sys123
as
sysdba
因为以
数据库管理员身份
登录可以
安装数据库
启动实例
将文本初始化参数文件pfile转化为二进制初始化参数文件spfile
因为数据库启动需要找到配置文件,默认寻找二进制文件,也可以手动启动文本文件,那这一步就不需要了
输入命令
create
spfile
from
pfile;
(将会报错,因为文本文件比较老相对于Oracle
10g),
这个时候我们需要修改配置文件initzhouytora
这个时候在%ORACLE_HOME%\database文件下会生成SPFILEZHOUYTora文件
以nomount形式启动实例
命令
startup
nomount,将会出现错误,当我们按照提示修改文本文件以后,如果我们还是按照startup
nomount来启动的话,我们要生成相应的二进制文件来覆盖旧的二进制文件
并注释%seed_control%
create
databae
创建数据库
创建数据库脚本
三个文件
控制文件
数据文件
重做日志文件
create
database
zhouyt
datafile
'C:\oracle\product\1020\db_2\zhouyt\system_01dbf'
size
100m
Autoextend
on
next
10m
maxsize
unlimited
sysaux
datafile
'C:\oracle\product\1020\db_2\zhouyt\systemaux_01dbf'
size
60m
Autoextend
on
next
10m
maxsize
unlimited
logfile
group
1
('C:\oracle\product\1020\db_2\zhouyt\log_1_01rdo')
size
10m,
group
2
('C:\oracle\product\1020\db_2\zhouyt\log_2_01rdo')
size
10m
character
set
zhs16gbk;
需要确保目录文件"db_2\zhouyt"存在
生成两个数据文件和两个重做日志文件,那么控制文件呢?
运行数据字典脚本
__数据库创建后,系统会生成两个管理员用户sys和system
运行3个数据字典脚本
catalogsql
创建系统常用的数据字典视图和同义词
(sys登录);
catprocsql
建立PL/SQL功能的使用环境,还创建几个PL/SQL包用于扩展RDBMS功能
(sys登录);
pupbldsql
使用SQLPLUS环境时需要
(system登录)
在命令行输入@
加脚本文件的绝对路径
第二个脚本过程和第一个一样
执行第三个脚本需要切换到system用户
connect
system/manager
@
C:\oracle\product\1020\db_2\sqlplus\admin\pupbldsql
创建scott模式
@
C:\oracle\product\1020\db_2\RDBMS\ADMIN\scottsql
以上就是关于oracle数据库连接方式有几种全部的内容,包括:oracle数据库连接方式有几种、如何:创建与 Oracle 数据库的连接、Oracle数据库如何创建DATABASE LINK等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)