64位SqlServer通过链接服务器与32位oracle通讯
在SQL SERVER里只安装了32位的oracle客户端的情况下,添加链接服务器然后执行查询会报如下信息:

原因:在64位的SQL Engine中已经不提供MSDAORA 的驱动了,可以使用OraOLEDB.Oracle,安装oracle 64位客户端即可。
1、下载客户端win64_11gR2_client.zip和win32_11gR2_client.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_client.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip
2、安装上面两个客户端
安装32位客户端到 C:\Oracle\product\11.2.0\client_32
安装32位客户端到 C:\Oracle\product\11.2.0\client_64
然后在各自目录下找到network\admin,修改tnanames.ora,添加oracle连接,两个客户端都加如下:
sap_mid=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 10.203.22.26)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SID = sapmid)
(SERVER = DEDICATED)
)
)
可用tnsping sap_mid测试一下:
返回结果如下,表示成功了
C:\Users\eiptest>tnsping sap_mid
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 20-11月-
2013 10:31:23
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
c:\oracle\product\product\11.2.0\client_2\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 10.2
03.22.26) (PORT = 1521))) (CONNECT_DATA = (SID = sapmid) (SERVER = DEDICATED)))
OK (30 毫秒)
3、修改注册表HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI和
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
把OracleOciLib改为oci.dll, OracleSqlLib改为orasql11.dll, OracleXaLib改为oraclient11.dll
4、添加odbc数据源




5、设置访问接口
点击服务器对象,链接服务器-》访问接口-》OraOLEDB.Oracle,点属性把所有选项都勾上


6、添加链接服务器
链接服务器名自己取,访问接口为Microsoft OLE DB Provider for ODBC Drivers,产品名为oracle,数据源为刚刚建的ODBC数据源名
然后点左侧的安全性,在右侧点使用此安全上下文建立连接,输入oracle的帐号和密码


6、测试
SELECT * FROM openquery(SAP,'SELECT * FROM SAPMID.ZIF_MAKT')
SAP为刚刚建立的链接服务器名,如无意外,会显示查询结果
以下为对考链接
http://yours369000.blog.163.com/blog/static/4762337720132247117744/
http://www.codeweblog.com/sql-server-2008-r2-x64-connect-to-oracle-solutions/
http://www.cnblogs.com/StupidsCat/archive/2012/06/12/2546307.html
64位SqlServer通过链接服务器与32位oracle通讯的更多相关文章
- 查看Linux 服务器是 32位还是64位的
查看Linux 服务器是 32位还是64位的 getconf LONG_BIT 返回 64 代表就是 64位的: 返回 32 代表就是 32位的:
- Sqlserver通过链接服务器访问Oracle
工作中遇到的情况,win 7 64位操作系统的就安装64位的oracle 客户端,然后重启sql service服务后再创建sql 链接服务器.关于如何创建链接服务器请查看下面的大神的链接: http ...
- 解决windows server2003 64位操作系统上不能加载32位应用程序dll 的问题
[FileLoadException: Could not load file or assembly 'sapnco_utils, Version=3.0.0.42, Culture=neutral ...
- Sqlserver通过链接服务器访问Oracle的那些事儿
前言: 1.不经历风雨,怎能见彩虹. 2.充分利用BaiDu.google等搜索引擎查找资料并整合分析! 3.世上无难事只怕有心人! 本文由来:笔者在研究SQLSERVER链接服务器到oracle并使 ...
- 【转】Sqlserver通过链接服务器访问Oracle的那些事儿!
原文:http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 前言:1.不经历风雨,怎能见彩虹.2.充分利用BaiDu.google等搜索引擎查找资料 ...
- Sqlserver通过链接服务器访问Oracle的解决办法
转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle) 首先sqlse ...
- SQLServer通过链接服务器远程删除数据性能问题解决
原文:SQLServer通过链接服务器远程删除数据性能问题解决 在上一遍文章中介绍了SQLServer通过链接服务器访问Oracle性能问题的解决方法,本文介绍链接服务器下远程删除SQLServer数 ...
- openstack安装系列问题:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装
个人原创,转载请注明作者,出处,否则依法追究法律责任 2017-10-03-12:22:22 现象:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装 ...
- SQLServer创建链接服务器
--SQLServer创建链接服务器----1.访问接口中Oracle接口 属性 选择 允许进程内-- --删除链接服务器EXEC master.dbo.sp_dropserver @server=N ...
随机推荐
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) D. Little Artem and Dance
题目链接: http://codeforces.com/contest/669/problem/D 题意: 给你一个初始序列:1,2,3,...,n. 现在有两种操作: 1.循环左移,循环右移. 2. ...
- jQuery基于ajax实现星星评论代码
本文实例讲述了jQuery基于ajax实现星星评论代码.分享给大家供大家参考.具体如下: 这里使用jquery模仿点评网的星星评论功能,Ajax评论模块,鼠标点击星星即可评价,下边是分数,可以点击后给 ...
- 【BZOJ】【2768】【JLOI2010】冠军调查
网络流/最小割 我不会告诉你这题跟 BZOJ 1934 是一模一样的……包括数据范围…… /****************************************************** ...
- nenu contest3 The 5th Zhejiang Provincial Collegiate Programming Contest
ZOJ Problem Set - 2965 Accurately Say "CocaCola"! http://acm.zju.edu.cn/onlinejudge/showP ...
- oracle 字符集导入、导出 、转换
导入导出及转换 导入导出是我们常用的一个数据迁移及转化工具,因其导出文件具有平台无关性,所以在跨平台迁移中,最为常用. 在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置 ...
- 对于python的内存管理的好文章
http://www.cnblogs.com/vamei/p/3232088.html 包含了一个绘制关系图的包
- SPOJ 3643 /BNUOJ 21860 Traffic Network
题意:现在已有m条单向路,问在给你的k条双向路中选择一条,使得s到t的距离最短 思路:设双向路两端点为a,b;长度为c. s到t的有三种情况: 1:原本s到t的路径 2:从s到a,a到b,b再到t的路 ...
- POJ 1844
#include <iostream> #define MAXN 20 using namespace std; int value[MAXN]; int place[MAXN]; ]; ...
- C# 虚方法的重载 new 与 virtual
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Git命令参考手册(转)
git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --glob ...