发表于: 2006.07.07 01:36
分类: TIMESTEN
出处: http://yangtingkun.itpub.net/post/468/130808
---------------------------------------------------------------
在前面介绍的READONLY CACHE GROUP的基础上,说明PASSTHROUGH的使用的例子。
配置READONLY CACHE GROUP的例子:http://yangtingkun.itpub.net/post/468/130399
首先,新建一个DSN,这个DSN和上面的例子中几乎完全一样。除了Data Store Path不同以外,讲参数PassThrough设置为2。
现在,使用新的DSN连接Timesten:
F:>TTISQL PASSTHROUGH
Copyright (c) 1996-2006, Oracle. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
All commands must end with a semicolon character.
connect "DSN=PASSTHROUGH";
Connection successful: DSN=PASSTHROUGH;UID=YANGTINGKUN;DataStore=F:TIMESTENSTO
REPASSTHROUGHPASSTHROUGH;DRIVER=C:WINDOWSSystem32ttdv60.dll;OracleId=TEST1
;PermSize=20;TempSize=20;PassThrough=2;
(Default setting AutoCommit=1)
Command> CALL TTCACHEUIDPWDSET('YANGTINGKUN', 'ABC');
Command> CALL TTCACHESTART();
Command> CREATE READONLY CACHE GROUP TEST_PASS
> AUTOREFRESH INTERVAL 5 SECONDS
> FROM T (ID INT PRIMARY KEY, NAME VARCHAR(30));
Warning 5112: Cache table YANGTINGKUN.T contains VARCHAR column(s). Oracle VARC
HAR comparison rule is different.
Command> LOAD CACHE GROUP TEST_PASS COMMIT EVERY 30 ROWS;
3 rows affected.
到目前为止,和上个例子没有区别。由于建立的是READONLY的CACHE GROUP,上个例子中尝试修改表的数据会报错,那么看看现在的效果。
Command> SELECT * FROM T;
< 1, YANGTK >
< 2, ABC >
< 3, AAA >
3 rows found.
Command> INSERT INTO T VALUES (4, 'C');
1 row inserted.
Command> SELECT * FROM T;
< 1, YANGTK >
< 2, ABC >
< 3, AAA >
< 4, C >
4 rows found.
似乎可以修改只读CACHE GROUP表的数据了,但是实际上是PASSTHROUGH起了作用,由于T表不能修改,Timesten将SQL语句交给Oracle去执行,因此这个插入实际上是在Oracle数据库中进行的。由于当前设置了AUTOCOMMIT,因此,修改后马上提交,并很快的同步到Timesten数据库中。
Command> AUTOCOMMIT 0;
Command> INSERT INTO T VALUES (5, 'D');
1 row inserted.
Command> SELECT * FROM T;
< 1, YANGTK >
< 2, ABC >
< 3, AAA >
< 4, C >
4 rows found.
Command> COMMIT;
Command> SELECT * FROM T;
< 1, YANGTK >
< 2, ABC >
< 3, AAA >
< 4, C >
4 rows found.
Command> SELECT * FROM T;
< 1, YANGTK >
< 2, ABC >
< 3, AAA >
< 4, C >
< 5, D >
5 rows found.
将AUTOCOMMIT关闭,就可以看到PASSTHROUGH的特点了,在插入完成且没有提交之前,在Timesten数据库中是看不到插入的数据的,只有提交之后,并超过了自动刷新的间隔时间,才能将数据同步到本地CACHE GROUP中。











