正在连接到oracle服务器,无法在SQL Server 2014到Oracle 11g上创建链接服务器连接(Can't create a linked server connection on SQ...

无法在SQL Server 2014到Oracle 11g上创建链接服务器连接(Can't create a linked server connection on SQL Server 2014 to Oracle 11g)

我正在尝试在SQL Server 2014中创建链接服务器。我正在尝试连接到Oracle 11g服务器。 我在Oracle提供的OraClient 11g连接中使用Oracle。 ODBC连接是在服务器上设置的,我可以测试连接,所以它可以通过Windows工作。

我右键单击数据库中的Linked Servers,然后选择Other Data source。 那里没有Oracle提供商选项。 如果我尝试使用Microsoft OLE DB Provider for ODBC驱动程序强制它,连接将返回一条错误消息,指出“执行t-sql语句时发生异常。无法初始化OLE DB提供程序的数据源对象”MSDASQL“for链接服务器“服务器”。链接服务器“服务器”的OLE DB提供程序“MSDASQL”返回消息“[Micrsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序。”(Microsoft SQL Server,错误:7303)

看来我错过了一些东西,sql server识别连接的方法,但我无法弄清楚是什么。 任何指导将不胜感激。

I am trying to create a linked server in SQL Server 2014. I am attempting to connect to an Oracle 11g server. I am using the Oracle in OraClient 11g connection provided by Oracle. The ODBC connection is set up on the Server and I can test connect, so it works though Windows.

I right click on the Linked Servers in the database and choose Other Data source. There is no Oracle provider option there. If I try and force it using the Microsoft OLE DB Provider for ODBC drivers, the connection returns an error message that says "An exception occurred while executing a t-sql statement. Cannot initialize the data source object of OLE DB provider "MSDASQL" for Linked server "Server". OLE DB provider "MSDASQL" for linked server "Server" returned message "[Micrsoft][ODBC Driver Manager] Data Source name not found and no default driver specified." (Microsoft SQL Server, Error: 7303)

It appears I am missing something, a way for the sql server to recognize the connection, but I can't figure out what. Any guidance would be appreciated.

原文:https://stackoverflow.com/questions/35848518

更新时间:2020-02-26 13:50

最满意答案

在向Oracle创建SQL Server 2008链接服务器之前,需要在SQL Server 2008系统上安装Oracle客户端软件。 Oracle客户端软件提供了建立与Oracle数据库连接所需的网络库。 在这种情况下,Oracle 11g数据库服务器已经安装并正常运行。 在SQL Server系统上安装Oracle客户端软件使其能够连接到现有的Oracle服务器。

本文适用于2008 / 11g,但原则应在2014 / 11g上相同。

Took me a couple of days u I found this:

It gives a great walk through of how to install the missing components I need. The downside to this solution is that it requires the installation to be done via cmd window. Not something I have much experience with, but this walk through really gave me the details I needed to get it done. That cleared the error message I was getting.

相关问答

oracle所有数据库产品都可以下载。其中express版是完全免费的,其他的产品如果商用就要许可证了。另外,没有购买许可证也没有服务。   Oracle 11g是在推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年。Oracle 11g提供了高性能、伸展性、可用性和安全性,并能更方便地在低成本服务器和存储设备组成的网格上运行 ,相对过往版本而言,Oracle 11g具有了与众不同的特性

oracle所有数据库产品都可以下载。其中express版是完全免费的,其他的产品如果商用就要许可证了。另外,没有购买许可证也没有服务,。网上下载的版本是全功能的,没有任何限制,只是法律上讲,是不合法的,oracle可以告你。

我不能完全回答你的问题,但我会发布我的连接设置说明和脚本 - 也许有帮助。 IIRC MySQL驱动程序版本有点重要。 /*

MySQL ODBC driver version 5.13 (install on SQL server)

System DSN name: my_web (create on SQL server, configure, test connectivity)

ODBC options: (leave default)

MSDASQL provider options (

...

您可以在计算机上下载Oracle XE(Express Edition) 。 从理论上讲,它不应该那么重。 我没有找到11g的XE,但是对于课程作业来说,差异不应该是显而易见的。 You can download Oracle XE (Express Edition) on your machine. Theoretically it should not be that much heavy. I don't find a XE for 11g, but the differences shou

...

您不能在DDL语句中使用绑定变量(如CREATE INDEX )。 绑定变量仅用于DML语句。 您需要在C#代码中构建DDL语句。 这是您的应用程序安装过程的一部分吗? 否则,想要从应用程序创建索引是极其罕见的。 您的应用程序不应在初始安装过程之外创建任何数据库对象。 You cannot use bind variables in a DDL statement (like CREATE INDEX). Bind variables are only used in DML statements

...

好吧,经过一段时间后,我发现我需要建立一个PUBLIC链接数据库。 像这样: CREATE PUBLIC DATABASE LINK "LINK_TO_PROD"

CONNECT TO {username} IDENTIFIED BY {password}

USING '(DESCRIPTION =(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = {prod server})(PORT = 2053)))

(CONNECT

...

根据许可协议 ,您似乎无法执行此操作(请参阅有关未特别包含的集成功能的部分) According to the license agreement it appears that you cannot do so (see the section on integration features which are not included in particular)

Jnnn(J000和J001)语法表明它是“作业队列从属进程”。 如果你杀了它,调度程序可能只是重新启动它。 查看相应的DBMS_JOB或DBMS_SCHEDULER API。 That Jnnn (J000 and J001) syntax indicates it is a "Job Queue Slave Process". If you kill it, the scheduler will probably just restart it. Look at the appropriate

...

根据SQL Mag : 在向Oracle创建SQL Server 2008链接服务器之前,需要在SQL Server 2008系统上安装Oracle客户端软件。 Oracle客户端软件提供了建立与Oracle数据库连接所需的网络库。 在这种情况下,Oracle 11g数据库服务器已经安装并正常运行。 在SQL Server系统上安装Oracle客户端软件使其能够连接到现有的Oracle服务器。 本文适用于2008 / 11g,但原则应在2014 / 11g上相同。 Took me a couple

...

在大多数情况下,我认为答案是“是”。 我认为也可以加载Java和C模块,以便它们可以调用/由数据库中的PL / SQL代码调用,但我自己从来没有见过这样做。 我不知道在哪里可以找到关于此的信息,但现在你有其他的研究领导;) Java存储过程的示例: http : //www.developer.com/db/article.php/3337411/Oracle-and-Java-Stored-Procedures.htm ..并且不用担心PL / SQL会死或死。 我认为大多数存储过程和数据库内代

...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值