Orcale使用心得

本文介绍了如何在SQL Server 2000 SP4上配置Oracle链接服务器,包括Oracle客户端安装、tnsnames配置、使用OraOLEDB.Oracle驱动创建链接服务器的步骤,以及解决SQL Server 2000连接问题和PL/SQL中文乱码的策略。此外,还提及了在Delphi中使用第三方控件orcaleaccess进行数据访问的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近需要对orcale 进行一些取数据的工作,原有的数据库是sql2000 sp4,刚开始的时候是想着直接建立链接服务器,
1:
首先在sqlserver服务器安装oracle的client端:
配置监听和tnsnames:
tnsnames:
D:\app\username\product\11.2.0\client_1\network\admin

SCPRDDR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = X.X.X.X)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hrdg)
)
)
配置完后可用pl/sql 测试是否能连接。PL/sql 安装自行百度

“OraOLEDB.Oracle” 访问接口是由oracle 的Oracle Probider for OLE DB 驱动提供的。它解决了两个数据库类型不一致的的问题。而且如果需要使用分布式事务,必须使用它来创建链接服务器。后文会有详细介绍。 在创建之前,在SQLSERVER中,链接服务器->访问接口->OraOLEDB.Oracle->右键属性,选中 “Allow inprocess” (中文为:允许进程内) 这一步是使我们选择的OraOLEDB.Oracle接口打开执行操作。如未设置会报如下错误: “无法初始化链接服务器 “null” 的 OLE DB 访问接口 “OraOLEDB.Oracle” 的数据源对象"

使用Oracle Probider for OLE DB 驱动创建sqlserver链接服务器的代码:

1: --建立数据库链接服务器
2: EXEC sp_addlinkedserver
3: @server =N’OraclePolice’, --要创建的链接服务器别名
4: @srvproduct=N’Oracle’, --产品名称
5: @provider=N’OraOLEDB.Oracle’, --OLE DB 驱动名称
6: @datasrc=N’ORCL’ --数据源oracle"ora10g"network"admin"tnsnames.ora查看
7:
8: EXEC sp_addlinkedsrvlogin
9: ‘OraclePolice’, --已建立的链接服务器名
10: ‘false’, – 固定 /
11: NULL, --为每个登陆SQL SERVER的用户使用此链接服务器,则写用户名
/
12: ‘TESTDB’, --帐号(oracle)
13: ‘TESTDB123’ --密码
14:
15: exec sp_serveroption ‘OraclePolice’,‘rpc out’,‘true’
16: exec sp_serveroption ‘OraclePolice’,‘rpc’,‘true’
17: --这两个是打开rpc,rpc out的,默认为False,打开后可以支持远程更改分布式事务。(如有分布式事务操作必须要设置)

按以上的操作完后发现SQL 2008以上的版本是已经可以使用,但我服务器用的是sql 2000 还是连接不上,在网上查了一下资料,包括建ODBC,导入注表等。

后面没有其他办法,只能想着用其他三方控件来取数据,网上找一下 有一个orcaleaccess的控件(开发语言为delphi),安装测试后可以查询到数据。

PL/SQL 使用时case when 中文出现乱码
配置环境变量
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值