zoukankan      html  css  js  c++  java
  • Oracle与SQL Server的数据库连接

    Software:

    SQL Server 2005 (win 2003)
    Oracle 10gR2 (Redhat AS 4 update 2)

    1. isntall 10201_client_win32.zip under D:\oracle
    if the D: drive is NTFS you have to give ALL rights to the user

    2. listener.ora and tnsnames.ora
    $ e /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
    ..........................................

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = ETMCDB)
    (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
    (SID_NAME = ETMCDB)
    # (PROGRAM = extproc)
    )
    )

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.106)(PORT = 1521))
    )
    )
    ..........................................
    e D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
    ..........................................

    Link_Ora =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.106)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ETMCDB)
    )

    )
    ......
    ....................................
    D:\oracle\product\10.2.0\client_1\BIN>tnsping Link_Ora
    TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on ..............................

    D:\oracle\product\10.2.0\client_1\BIN>sqlplus system/oracle@Link_Ora
    SQL*Plus: Release 10.2.0.1.0 - Production on ..............................
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL>
    Start --> Control Panel--> Services: to make sure "Distributed Transaction Coordinator" is starting

    3. windows ODBC
    Start --> Control Panel --> Computer Management --> ODBC --> Tab (User DNS or System DNS) --> Add (
    Microsoft ODBC for oracle) --> Name (Same as the name in tnsnames.ora:Link_Ora) --> Server name (Same as the name in tnsnames.ora:Link_Ora)-->Finish

    4. DB_Link in SQL Server
    In General Tab

    Link_ Name:
    Other Data Source
    Link: Microsoft OLE DB Provider for Oracle
    Product name: Oracle
    Data_Source: the Name in ODBC Link_Ora(step 3)
    User ID=username;Password=userpasswd or UID=username;PWD=userpasswd (the username / password in Oracle)

    In Security Tab:

    Select the last option: enter the username / password in Oracle


    Or to use SQL:

    ADD:
    EXEC sp_addlinkedserver 'Link_Ora', 'Oracle', 'Link_Ora', 'Server name or IP'
    EXEC sp_addlinkedserver 'Link_Ora', 'Oracle', 'Link_Ora', 'ETMCDB'

    EXEC sp_addlinkedsrvlogin @rmtsrvname='Link_Ora',@useself='false',@locallogin='sa',@rmtuser='sys',@rmtpassword='oracle'
    or
    'Link_Ora','false',null,'rmtuser','rmtpassword'
    DEL:
    IF EXISTS (SELECT srvname FROM master.dbo.sysservers srv WHERE srvid != 0 AND srvname = N'DB_Link_Name')
    EXEC master.dbo.sp_dropserver @server=N'DB_Link_Name', @droplogins='droplogins'


    Testing:

    SELECT * FROM Link_Ora.ERP.BAS_ITEM_CLASS
    SELECT * FROM openquery(OraTest,'SELECT * FROM OraTest.ERP.BAS_ITEM_CLASS ')


    Ref:

    http://www.cnblogs.com/studyzy/archive/2006/12/08/690307.html
    http://space.itpub.net/?uid-7728585-action-viewspace-itemid-470225

  • 相关阅读:
    二叉搜索树和双向链表 --剑指offer
    复杂链表的复制 --剑指offer
    二叉树中和为某一值的路径 --剑指offer
    二叉搜索树的后序遍历序列 --剑指offer
    从上往下打印二叉树 --剑指offer
    栈的压入、弹出序列 --剑指offer
    顺时针打印矩阵 --剑指offer
    树的子结构 --剑指offer
    JSON.toJSONString(joinPoint.getArgs())报错getOutputStream() has already been called for this response
    常用linux命令
  • 原文地址:https://www.cnblogs.com/buro79xxd/p/1682566.html
Copyright © 2011-2022 走看看