搜了一些帖子,说是需要建立数据源,在建立数据源的时候弹出来了一个框框,让填写一些东西,有这几个名词,大家帮忙解释一下是什么意思:数据源名称         //这是个什么东东
用户名称          //是oracle的还是sql的哦
服务器           //这个是oracle数据库所在的机器的主机名,还是oracle数据库的名称,还是其它什么哦
大家哪位仁兄做过这样的事情,帮忙把经验分享一下吧,谢谢啦!

解决方案 »

  1.   

    http://blog.sina.com.cn/s/blog_454d9385010099l7.html
      

  2.   

    在SQL SERVER 20000中访问Oracle数据库服务器的几种方法 1.通过行集函数opendatasource
    要求:本地安装Oracle客户端
    select *  from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
    其中,MSDAORA是OLEDB FOR Oracle的驱动,注意:用户名和表名一定要大小,服务器和用户名之间是两个点;
    例如:
    select top 10 *  from opendatasource('MSDAORA', 'Data Source=HZTEST;User ID=osstest;Password=a1234')..OSSTEST.SUBSCRIBER本地Oracle客户端配置文件中内容如下:
    HZTEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = test)
        )
      )2. 使用MS SQL的openrowset函数
    select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A 
    order by A.ID
    使用这种方式一定要用别名才行3.使用ODBC方式
    select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
    XST4_ODBC是ODBC数据源4.使用链接服务器方式
    EXEC SP_ADDLINKEDSERVER
    @server='mylinkedserver',      --链接服务器名称
    @srvproduct='Oracle',          --固定
    @provider='MSDAORA',           --固定
    @datasrc='XST4'                --Oracle本地服务名
    该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=17285
    SQL Server到Oracle连接服务器的实现 
     
     
    作者:中国论坛网收集 来源:http://www.51one.net 加入时间:2004-8-25  
     
    SQL Server到Oracle连接服务器的实现 
      
      作者:Jennifer 
    本文以SQL Server 2k为例说明SQL Server到Oracle连接服务器的具体实现过程。1.要求pc机上安装oralce客户端软件和sqlserver2000软件。2.客户端的配置tnsnames.ora文件,配置所要连接的数据库服务器(windows,unix等平台均可以)
    eg:tnsnames.ora
    ......
    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.11.90)(PORT = 1521))
        )
        (CONNECT_DATA =
          (sid = blue)
          (SERVER = DEDICATED)
        )
      )
    ......3.配置windows的ODBC数据源:
      开始菜单—》设置—》管理工具—》数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择Microsoft ODBC for oracle—》自定义数据源名称(最好跟tns中连接串同名!)—》服务器名称(必填!填写tns文件中的连接串名称)—》完成。4.配置sqlserver2000中的连接服务器:
      企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称; 选其他数据源; 指定程序名称为:Microsoft OLE DB Provider for Oracle;  产品名称可不填; 数据源指定刚才ODBC中定义好的数据源名称; 提供程序字符串按以下格式填写:User ID=username;Password=userpasswd(或者按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连接的oracle数据库中的用户名和密码 —》 安全性标签页里:设置用此安全上下文进行,并录入oracle的数据库用户名和密码—》服务器选项标签页可默认—》确定。5.准备工作全部完成啦!在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,即可在右边窗口看到该oracle数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式为:  [连接服务器名]..[ORACLE用户].[表名]。更详细具体的使用这里不再赘述。
      

  3.   

    SELECT * FROM LKTEST..SYS.OTESTTABLE其中 LKTEST是连接服务器的名称, SYS是oracle的用户名,OTESTTABLE是oracle数据库中的表名称。报的是下面的错误:务器: 消息 7356,级别 16,状态 1,行 1
    OLE DB 提供程序 'OraOLEDB.Oracle' 为列提供的元数据不一致。执行时更改了元数据信息。
    OLE DB 错误跟踪[Non-interface error:  Column 'COL11' (compile-time ordinal 1) of object '"SYS"."OTESTTABLE"' was reported to have a DBTYPE of 129 at compile time and 130 at run time]。
    ==================================
    其中COL11是oracle数据库中表的列明。 大家帮忙关注一下。
      

  4.   

    EXEC master.dbo.sp_addlinkedserver @server = N'CFDBSRV', @srvproduct=N'Oracle', @provider=N'MSDAORA', @datasrc=N'CFDBSRV', @provstr=N'psitechuser'EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'CFDBSRV',@useself=N'False',@locallogin=NULL,@rmtuser=N'psitechuser',@rmtpassword='123456'以上是創建連接oracle服務器語句
    下面的是sql中執行的語句
    方法1:exec('select * from  tblwipmfgorder')at  [CFDBSRV]
    方法2:select  * from CFDBSRV..PSITECHUSER.TBLWIPMFGORDER
      

  5.   

    sql 链接 sybase的已经贴出来了。
    http://topic.csdn.net/u/20100609/08/ff0e65bc-acba-4dfb-8d1a-7f7a581109ee.html