ºìÁªLinuxÃÅ»§
Linux°ïÖú

OracleÓëSQLServerµÄ»¥Á¬

·¢²¼Ê±¼ä:2007-06-09 00:10:23À´Ô´:ºìÁª×÷Õß:JinXian
¡¡¡¡²»Í¬Êý¾Ý¿âƽ̨µÄ»¥Á¬Ò»°ã³Æ֮ΪÊý¾Ý¿âµÄÒì¹¹·þÎñ£¬ÏÖÔÚ¸÷´óÊý¾Ý¿âÖ®¼ä¶¼¿ÉÒÔʵÏÖÕâÑùµÄÒì¹¹»¥Á¬£¬Ö»ÊǸ÷³§É̵ľßÌåʵÏÖ¼¼Êõ²»Ò»Ñù£¬È磺ÔÚSQL SERVERÀïÃæ½Ð×öLINKED SERVER£¬Í¨¹ýODBCʵÏÖÓëÆäËüÊý¾Ý¿âµÄ»¥Áª¡£
¡¡¡¡
¡¡¡¡¶øORACLEʵÏÖÒì¹¹·þÎñµÄ¼¼Êõ½Ð×ö͸Ã÷Íø¹Ø£¨Transparent Gateway£©£¬µ±È»Ö®Ç°ORACLE»¹²ÉÓùýͨÓÃÁ¬½Ó¼¼Êõ¡£Ä¿Ç°ORACLEÀûÓÃ͸Ã÷Íø¹Ø¿ÉÒÔʵÏÖºÍSQL SERVER¡¢SYBASE¡¢DB2µÈ¶àÖÖÊý¾Ý¿âµÄ»¥Áª¡£
¡¡¡¡
¡¡¡¡Í¸Ã÷Íø¹ØµÄÌåϵ½á¹¹Ò²ºÜ¼òµ¥£¬ÔÚORACLEºÍSQL SERVERÖ®¼äʹÓÃORACLE͸Ã÷Íø¹Ø·þÎñÆ÷ʵÏÖ»¥Á¬»¥Í¨£¬ÆäÖÐ͸Ã÷Íø¹Ø·þÎñÆ÷¿ÉÒÔÓëORACLE»òSQL SERVERÊý¾Ý¿âÔÚͬһ̨Ö÷»úÉÏ£¬Ò²¿ÉÒÔÊÇÔÚ¶ÀÁ¢µÄһ̨Ö÷»úÉÏ¡£
¡¡¡¡
¡¡¡¡ÏÂÃæÊǾßÌå²½Ö裺
¡¡¡¡
¡¡¡¡1¡¢ÔÚSQL SERVERÊý¾Ý¿âÉÏ´´½¨²âÊÔÕ˺źͱí
¡¡¡¡
¡¡¡¡ÕâÀïÎÒÓõÄÊÇ10.16.74.140µÄPUBSÊý¾Ý¿â£¬Õ˺Åcyx£¬
¡¡¡¡
¡¡¡¡create table t (c char(10));
¡¡¡¡
¡¡¡¡2¡¢ÎÒ²âÊÔËùÓÃÊý¾Ý¿âºÍ͸Ã÷Íø¹ØÊÇÔÚͬһ̨»úÆ÷ÉÏ£¬ÔÚÎÒ±¾»ú£º10.16.98.16£¬Í¸Ã÷Íø¹ØÔÚoracleĬÈÏ°²×°Ê±ÊDz»°²×°µÄ£¬ËùÒÔÈç¹ûÄãÏëÓÃÐèҪѡÔñÕâһѡÏî¡£
¡¡¡¡
¡¡¡¡3¡¢°²×°Í¸Ã÷Íø¹Øfor sql serverµÄÈí¼þºó£¬¿ÉÒÔÔÚ$ORACLE_HOMEÏ¿´µ½tg4msqlĿ¼£¬±à¼­$ORACLE_HOME/tg4msql/admin/inittg4msql.sqlÎļþÈ·ÈÏÕâÒ»ÐÐÕýÈ·£º
¡¡¡¡
¡¡¡¡HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs"
¡¡¡¡
¡¡¡¡4¡¢ÐÞ¸Ä͸Ã÷Íø¹ØserverÉϵÄlistener.ora£¬ÔÚSID_LISTÖмÓÈëÒÔÏÂÄÚÈÝ£º
¡¡¡¡
¡¡¡¡(SID_NAME = tg4msql) # SID×Ô¼ºÃüÃû
¡¡¡¡
¡¡¡¡(ORACLE_HOME = c )
¡¡¡¡
¡¡¡¡(PROGRAM = tg4msql)
¡¡¡¡
¡¡¡¡5¡¢ÔÚoracle serverÉϵÄtnsnames.oraÖмÓÈ뵽͸Ã÷Íø¹ØµÄtnsname£¬ÄÚÈÝÈçÏ£º
¡¡¡¡
¡¡¡¡sql2k =
¡¡¡¡
¡¡¡¡(DESCRIPTION =
¡¡¡¡
¡¡¡¡(ADDRESS_LIST =
¡¡¡¡
¡¡¡¡(ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.98.16)(PORT = 1521)) #´Ë´¦HOSTÌîµÄÊÇ͸Ã÷Íø¹ØSERVERµÄµØÖ·
¡¡¡¡
¡¡¡¡)
¡¡¡¡
¡¡¡¡(CONNECT_DATA = (SID = tg4msql) ) #´ËSIDÓ¦ºÍ͸Ã÷Íø¹ØSERVERÉÏÉ趨µÄSIDÏàͬ
¡¡¡¡
¡¡¡¡(HS=OK)
¡¡¡¡
¡¡¡¡)
¡¡¡¡
¡¡¡¡6¡¢ÐÞ¸ÄORACLE SERVERµÄ³õʼ»¯²ÎÊý£¬½«global_namesÉèΪfalse£¬ÒòΪÎÒÃDz¢²»Ê¹ÓÃGLOBAL NAME¡£È»ºóÖØÆðÊý¾Ý¿â¡£
¡¡¡¡
¡¡¡¡7¡¢ÏÖÔÚÔÚORACLE SERVERÉÏ´´½¨DB LINK¾Í¿ÉÒÔÁË¡£ÏÂÃæʵÑéÊý¾Ý£º
¡¡¡¡
¡¡¡¡C:>sqlplus /nolog
¡¡¡¡
¡¡¡¡SQL*Plus: Release 9.2.0.1.0 - Production on ÐÇÆÚÈý 6ÔÂ 25 13:29:41 2003
¡¡¡¡
¡¡¡¡Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
¡¡¡¡
¡¡¡¡SQL> conn sys/change_on_install as sysdba
¡¡¡¡
¡¡¡¡ÒÑÁ¬½Ó¡£
¡¡¡¡
¡¡¡¡SQL> create user cyx identified by cyx default tablespace users;
¡¡¡¡
¡¡¡¡Óû§ÒÑ´´½¨
¡¡¡¡
¡¡¡¡SQL> grant connect to cyx;
¡¡¡¡
¡¡¡¡ÊÚȨ³É¹¦¡£
¡¡¡¡
¡¡¡¡SQL> grant resource to cyx;
¡¡¡¡
¡¡¡¡ÊÚȨ³É¹¦¡£
¡¡¡¡
¡¡¡¡SQL> conn cyx/cyx
¡¡¡¡
¡¡¡¡ÒÑÁ¬½Ó¡£
¡¡¡¡
¡¡¡¡SQL> create database link tosql2k connect to cyx identified by cyx using
¡¡¡¡
¡¡¡¡2 'sql2k';
¡¡¡¡
¡¡¡¡Êý¾Ý¿âÁ´½ÓÒÑ´´½¨¡£
¡¡¡¡
¡¡¡¡SQL> select * from t@tosql2k;
¡¡¡¡
¡¡¡¡c
¡¡¡¡
¡¡¡¡abc
¡¡¡¡
¡¡¡¡aaa
¡¡¡¡
¡¡¡¡bbb
¡¡¡¡
¡¡¡¡cyx
¡¡¡¡
¡¡¡¡gototop
¡¡¡¡
¡¡¡¡ncn
¡¡¡¡
¡¡¡¡11111
¡¡¡¡
¡¡¡¡ÒÑÑ¡Ôñ7ÐС£
¡¡¡¡
¡¡¡¡SQL> insert into t@tosql2k values('ncn.cn');
¡¡¡¡
¡¡¡¡ÒÑ´´½¨ 1 ÐС£
¡¡¡¡
¡¡¡¡SQL> commit;
¡¡¡¡
¡¡¡¡Ìá½»Íê³É¡£
¡¡¡¡
¡¡¡¡SQL> select * from t@tosql2k;
¡¡¡¡
¡¡¡¡c
¡¡¡¡
¡¡¡¡abc
¡¡¡¡
¡¡¡¡aaa
¡¡¡¡
¡¡¡¡bbb
¡¡¡¡
¡¡¡¡cyx
¡¡¡¡
¡¡¡¡gototop
¡¡¡¡
¡¡¡¡ncn
¡¡¡¡
¡¡¡¡11111
¡¡¡¡
¡¡¡¡ncn.cn
¡¡¡¡
¡¡¡¡ÒÑÑ¡Ôñ8ÐС£
¡¡¡¡
¡¡¡¡ÒÔÉÏʾÀý£¬oracle serverºÍ͸Ã÷Íø¹Øserver¶¼ÊÇÔÚͬһ̨»úÆ÷ÉÏ£¬ÏñÔÚ¿ªÊ¼ËµÃ÷µÄÄÇÑù£¬ÎÒÃÇͬÑù¿ÉÒÔÔÚÆäËûÏÂÃæoracle serverÖÐͨ¹ý͸Ã÷Íø¹ØÀ´·ÃÎÊsql serverµÄÊý¾Ý¡£ÏÂÃæÊÇʾÀý£º
¡¡¡¡
¡¡¡¡ÏÖÔÚÕâ¸öoracle serverÉÏÌí¼Ótnsname¡£
¡¡¡¡
¡¡¡¡hawk3$sqlplus cyx
¡¡¡¡
¡¡¡¡SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 25 14:00:34 2003
¡¡¡¡
¡¡¡¡(c) Copyright 2000 Oracle Corporation. All rights reserved.
¡¡¡¡
¡¡¡¡Enter password:
¡¡¡¡
¡¡¡¡Connected to:
¡¡¡¡
¡¡¡¡Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
¡¡¡¡
¡¡¡¡With the Partitioning option
¡¡¡¡
¡¡¡¡JServer Release 8.1.7.0.0 - Production
¡¡¡¡
¡¡¡¡SQL> create database link hawk3_sql2k connect to cyx identified by cyx
¡¡¡¡
¡¡¡¡2 using 'sql2k';
¡¡¡¡
¡¡¡¡Database link created.
¡¡¡¡
¡¡¡¡SQL> select * from t@hawk3_sql2k;
¡¡¡¡
¡¡¡¡c
¡¡¡¡
¡¡¡¡abc
¡¡¡¡
¡¡¡¡aaa
¡¡¡¡
¡¡¡¡bbb
¡¡¡¡
¡¡¡¡cyx
¡¡¡¡
¡¡¡¡gototop
¡¡¡¡
¡¡¡¡ncn
¡¡¡¡
¡¡¡¡11111
¡¡¡¡
¡¡¡¡ncn.cn
¡¡¡¡
¡¡¡¡8 rows selected.
¡¡¡¡
¡¡¡¡×¢£ººÜ¶àÅóÓÑÎʵ½¹ØÓÚ͸Ã÷Íø¹ØµÄһЩÎÊÌ⣬Ôڴ˼ÓÒÔ˵Ã÷ÈçÏ£º
¡¡¡¡
¡¡¡¡1¡¢Oracle For SQL ServerµÄ͸Ã÷Íø¹ØÔÚUNIXÏÂÎÞ·¨ÊµÏÖ£¬Ä¿Ç°Ö»Ö§³ÖWIN£» Ô­ÒòºÜ¼òµ¥£¬SQL Server±¾Éí²»Ö§³ÖUNIX£¬ËùÒÔOracleÒ²ÎÞ·¨Ö±½ÓÔÚUNIXÏ·ÃÎÊSQL Server¡£
¡¡¡¡
¡¡¡¡2¡¢Oracle ForÆäËüÊý¾Ý¿âµÄ͸Ã÷Íø¹Ø£¬ÈçSYBASEµÈÓÐUNIX±¾°æ±¾µÄÊý¾Ý¿âÔÚUNIX¿ÉÒÔʵÏÖ¡£
¡¡¡¡
¡¡¡¡3¡¢Oracle͸Ã÷Íø¹ØÈí¼þÔÚOracle 8iʱÊÇÐèÒª»¨Ç®ÁíÂòµÄ£¬´óÔ¼1Íò$£»µ½Oracle 9iʱÊÇ×÷ΪÊý¾Ý¿âµÄÒ»¸ö×é¼þÃâ·Ñ·¢²¼µÄ¡£°²×°Ê±ÔÚ×é¼þÖÖÑ¡Ôñ¼´¿É¡£
¡¡¡¡
¡¡¡¡4¡¢Õë¶ÔÎÒÃǵÄʵ¼ÊÓ¦Óã¬Èç¹ûÓÐÐèҪʵÏÖOracle µ½SQL ServerµÄ»¥Á¬£¬ÎÒÃÇÐèÒªÁíÍâÓÃһ̨WINϵÄOracle 9iÀ´×ö͸Ã÷Íø¹Ø·þÎñÆ÷£¬ÆäËüUNIXϵÄOracleͨ¹ýÕâ¸ö͸Ã÷Íø¹ØÀ´·ÃÎÊSQL Server¡£
¡¡¡¡
¡¡¡¡5¡¢²»Í¬Êý¾Ý¿â¼äµÄÊý¾Ý´¦ÀíÐèʹÓñê×¼SQLÀ´ÊµÏÖ¡£
¡¡¡¡
¡¡¡¡6¡¢¸÷Êý¾Ý¿âÖÐÌØÊâµÄÊý¾ÝÀàÐÍ£¬ÐèÒªÔÚ³ÌÐòÖÐʵÏÖת»»£¬Ó¦¾¡Á¿±ÜÃâʹÓÃÎÞ·¨×ª»»µÄÊý¾ÝÀàÐÍ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ