Sybase IQ 数据库数据互访和同步

Sybase IQ 不同数据库实例间数据互访.

 

 

Mutiplex 是用于读写分理,此处讲的是不同实例间数据的互访。



建立远程服务器的方式:
  
   ( 本方法,可以对远程server的表的数据,进行更改)

1、用jdbc/odbc 来连接远程server.

使用ODBC 举例
Driver=libdbodbc9.sl;Commlinks=tcpip(host=192.168.0.11;PORT=7238);ENG=dataserver11


--建立链接服务器, 使用中文字符集CharSet=cp936,否则会出现乱码

CREATE SERVER "dataserver12" CLASS 'ASAODBC' USING 'Driver=libdbodbc9.sl;Commlinks=tcpip(host=192.168.0.12;PORT=7260);ENG=dataserver12;CharSet=cp936';


2、建立外部login (指定本地的用户,与远程server的哪个用户相对应)

   (显式对应)

CREATE EXTERNLOGIN DBA
TO dataserver12
REMOTE LOGIN DBA
IDENTIFIED BY SQL;

3、建立代理表


CREATE EXISTING TABLE pt_sync_source_table_12
AT 'dataserver12.database.DBA.SYNC_TABLE_SOURCE';


4、从代理表中读取数据,抽入到本地

insert into ST_MESS
( select * from pt_sync_source_table_12);

commit;

----------------------------------------------------------------------------
以下这种方式,是采用的ct_library 方式来连接

(本方法,只能从远程server 读取数据过来,不能回写远程server)

1、必须两边配置好 server ( 与ase 相同);

2、本地连接到iq 的用户,必须在远程server 上存在,并且口令必须一致。(隐式对应)

在Sybase IQ目录建立interfaces文件
内容如下:

dataserver12
        master tcp ether 192.168.0.12 7260
        query tcp ether  192.168.0.12 7260
       


       
       
----------------------------------------------------------------------------

INSERT INTO DBA.ST_MESS
(MESSAD01, MESSAD02,MESSAD03,MESSAD04,MESSAD05,MESSAD06,MESSAD07,MESSAD08,MESSAD09)
LOCATION 'dataserver12.database'  ---( servername.databasename)
--PACKETSIZE 16384
{ SELECT MESSAD01, MESSAD02,MESSAD03,MESSAD04,MESSAD05,MESSAD06,MESSAD07,MESSAD08,MESSAD09
FROM s_messagedataall};
commit;

 

----------------------------------------------------------------------

关于本地windows IQ ,远程 solaris IQ , 采用location 方式, 有关汉字乱码问题,

需要在本地windows 下,设置环境变量:

ASCHARSET=eucgb

ASLANG=EUC_CN

然后,重启iq 数据库,应该就可以了
--------------------------------------------------------------------

insert into DBA.authors
 ( au_id,au_lname,au_fname,phone,"address",city,state,country,postalcode)
location 'YULAN.pubs2'
{ select au_id ,au_lname ,au_fname ,phone ,"address" ,city ,state ,country ,postalcode  from authors };

commit;

你可能感兴趣的:(SYBASE,IQ)