首页 > 数据库 >oracle 链接 sqlserver 链接服务器

oracle 链接 sqlserver 链接服务器

时间:2022-11-28 18:45:17浏览次数:40  
标签:sqlserver ODBC Oracle 服务器 数据源 oracle 驱动 链接

  1.下载驱动包

  base包:instantclient-basic-windows.x64-11.2.0.3.0.zip

  ODBC包:instantclient-odbc-windows.x64-11.2.0.3.0.zip

  我下载的是11.2.0.3版本的,两个包的版本必须要一致才行。http://www.oracle.com/technetwork/topics/winx64soft-089540.html

  2.解压安装

  解压上面两个包,把解压后的文件放在同一个目录(合并),注意2个包解压后的所有文件必须放在一个目录下,假设是D:\\instantclient_11_2

  使用管理员权限打开CMD,进入该目录,运行odbc_install.exe进行安装。

  提示安装成功后,运行64位ODBC驱动配置程序“C:\windows\SysWOW64\odbcad32.exe”

  注意:64位系统的odbcad32.exe的目录应该在SysWOW64。

  不出意外,ODBC的驱动已经安装成功了,打开ODBC数据源管理器就可以看到已经有ODBC驱动程序项:

   

 

 

   3.选择ODBC配置DSN,如下图,可以根据实际的情况天下Oracle ODBC Driver Configuration。

  

  测试连接成功后,就可以使用ODBC连接数据库了,Enjoy it!

 

  加一句,我使用的ADO来封住ODBC连接。ODBC连接串测试成功和能够使用的是:Provider=MSDASQL.1;Persist Security Info=False;User ID=avls;Password=1;Data Source=orcl;

  还有发一个Oracle ODBC连接串汇总:http://www.connectionstrings.com/oracle/  那么多人贡献真好!

 

  再说一句:配置Oracle ODBC驱动必须需要配置环境变量,就是让驱动能够找到D:\instantclient_11_2\NETWORK\ADMIN   下面的tnsnames.ora     tnsnames.ora文件包含了连接Oracle服务器的连接串;

  只需要配置ORACLE_HOME环境变量的值为D:\instantclient_11_2即可。已经经过测试,嘻嘻。谢谢,不用夸奖,有用得很。 

 

  关于环境变量,还有一个需要进行配置的就是ODBC驱动的语言设置,NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK       目前测试可以解决SQL通过ODBC查询中文乱码的问题

  

  

配置环境变量,打开系统属性选择环境变量(系统变量添加TNS_ADMIN)

具体值: --注:该变量主要是读取ADMIN文件夹下的tnsnames.ora文件

TNS_ADMIN=G:\oracle odbc\instantclient_12\instantclient_12_1\network\ADMIN
(4)修改tnsnames.ora,如下图红色方框标记的改成你自己要远程链接的服务器IP地址 及SID,点击保存

(1)=数据源驱动要连接的数据库IP地址

(2)=数据库的SID

(3)=数据源驱动稍后选择的TNS Service Name

 

 

创建ODBC数据驱动(该驱动安装完应该是从C:\Windows\SysWOW64\odbcad32.exe)

         打开数据源驱动-》选择系统DSN-》点击添加-》选择Oracle驱动-》点击完成

 

 

6)配置数据源驱动

         配置Data Source  Name(稍后在数据库中创建连接服务器要用,命名按照你数据源用途来命名最好) 、

         TNS Service Name(tnsnames.ora的节点名)  、User ID(数据库帐号)

 

 

配置完相关属性之后 点击“Test Connection”测试连接是否成功

注:当出现 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务时,

请首先确保tnsnames.ora配置信息是正确的,

然后打开cmd 执行指令:先执行 lsnrctl stop (先关闭监听服务),然后lsnrctl start (开启监听服务)

成功的画面

 

 

 

在SQL sever 中配置对Oracle 的链接服务器,点击SQL server -》新建链接服务器

(1)=访问接口选择 Oracle 驱动

(2)=填写刚刚在 ODBC数据源驱动中创建的Oracle 数据源名称

(3)=填写SID

然后选择安全性选项-》设置远程登录密码,具体采用什么模式看大佬们自己的心情,哈哈哈!

注:在数据源创建成功的情况下还出现

ORA-12154: TNS:could not resolve the connect identifier specified错误

则重启一下 server 服务即可

 

 

链接服务器创建成功之后执行查询报以下错误时处理方法-》选择链接服务器-》选择访问接口-》选择OraOLEDB

           -》启用允许进程内点击确定-》重启SQL server服务

           执行到这一步就可以对oracle数据库进行操作了

 

在执行对新建连接服务器的增删改查时可能会出现以下问题

 

 

该问题的处理方法:

(1)点击链接服务器节点下的访问接口

(2)选择报错的访问接口

 

  

 

 (3)右键属性-》启用允许进程内

 

 

(4)重启server 服务 使允许进程内选项生效

(5)执行到这一步就可以查询了

 

   

标签:sqlserver,ODBC,Oracle,服务器,数据源,oracle,驱动,链接
From: https://www.cnblogs.com/zhangqifeng2021/p/16933018.html

相关文章

  • 近期需参考文档链接备份1
    2211281.   https://www.cnblogs.com/everfight/p/pandas_read_large_number.html  pandas读取大型excel文件2.   https://blog.csdn.net/htbeker/article/d......
  • 软链接(Symbolic Links) 和硬链接(Hard Links)
    在Linux和UNIX系统中有两种类型的链接,SymbolicLinks和HardLinks,它们都是用ln命令创建的,功能相似但有一些区别。计算机的filesystem存储文件的元数据,如permi......
  • Oracle 分组统计,并显示百分比的实现
    需求:在分组统计的时候,显示每个分组所占的百分比效果图:实现代码:SELECTCOUNT(1)rs,100*round(COUNT(*)/SUM(COUNT(*))OVER(),4)||'%'FROMTB_USERtGROUPBYt.AREA......
  • iOS开发之检测网络链接的实际状态RealReachability
    之前写的项目用了苹果自带的Reachability文件进行网络状态判断,发现判断情况并不是很理想,所以为了解决这个问题,查找了一些资料,来改变旧的判断方式,使用的是一个很好用的、封装......
  • Python常用的功能(随机数生成、读写文件、链接数据库)
    一、随机数生成importrandom#生成1-1000之间的伪随机数num=random.randint(1,1000)二、读文件read=open("c:\\text.txt","r")lines=read.readlines()......
  • Oracle中ALTER TABLE的五种用法(三)
    首发微信公众号:SQL数据库运维原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd......
  • Linux软连接和硬链接
    1.Linux链接概念Linux链接分两种,一种被称为硬链接(HardLink),另一种被称为符号链接(SymbolicLink)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。......
  • DTCC | 2021中国图数据库技术大会链接分享
    DTCC|2021中国图数据库技术大会链接分享​​DTCC|2021中国图数据库技术大会链接分享​​​​一、新一代分布式架构​​​​二、数据流通与数据交易​​​​三、业务模型......
  • Oracle的sys_context函数
    概述sys_context函数是Oracle提供的一个获取环境上下文信息的预定义函数。该函数用来返回一个指定namespace下的parameter值。该函数可以在SQL和PL/SQL语言中使用。sys_cont......
  • Oracle 中的Userenv
    USEREVN()返回当前用户环境的信息,opt可以是:ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE1.ISDBA查看当前用户是否是DBA如果是则返回tru......