为什么要把oracle的表搞到sql server上呢??
解决方案 »
- 求一条oracle 数据库 字段相连 的查询语句
- 严重: 启动 Database Control 时出错!导致使用pl/sql工具时报:ORA-12560:TNS:协议适配器错误
- RAC2上运行RMAN报"Unsatisfied data symbol"
- oracle sys用户是否能远程连接数据库
- 关于Oracle权限问题
- 一个关于删除纪录、插入统计结果的问题
- 在往数据库插入数据的时候,oracle自动会停掉服务,报错:“ORA-03113: end-of-file on communication channel ”
- 这个语句错在哪里?即答即结!
- 怎样动态同步服务器与工作站的时间
- 求推荐oralce放面的书籍。
- help me 有关oracle8.03还原的问题,总是还原不正确。请高手指点
- 这个SP2-0552: 未说明结合变量"NUMBER" 错误是怎么回事?
也就是说,a扮演了数据源的角色,它对b和b上的应用一无所知。
最后没办法只好写个程序解决了
2、建立 SQL SERVER 数据源
test连接上我的test数据库
3、配置tnsnames.ora. (ORACLE_HOME\NETWORK\ADMIN)
test=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=tcp)
(HOST=<IP地址>)
(PORT=1521)
)
(CONNECT_DATA=
(SID=test)
)
(HS=)
)
4、配置listener.ora. (ORACLE_HOME\NETWORK\ADMIN)
(SID_DESC=
(SID_NAME=test)
(ORACLE_HOME=c:\Oracle\iSuites)
(PROGRAM=hsodbc)
)
5、重启ORACLE监听.
CMD
LSNRCTL STOP
LSNRCTL START
LSNRCTL STATUS
6、添加网关配置文件. (ORACLE_HOME\HS\ADMIN)
文件名为:inittest.ora
文件内容:
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = test
HS_FDS_TRACE_LEVEL = 0
#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>
7、进入ORACLE SQL*PLUS,建立数据库链.
CREATE DATABASE LINK TOSQL USING 'test';然后通过建立触发器。
不大了解您的意思...
2、每次建立L20031231表时生成一个after insert触发器,把存取纪录到L表时同时存入L_TRANS
3、定时把L_TRANS表中的纪录传送到SQL SERVER数据库,可以通过定宽的文本文件传输,传输完成以后清空L_TRANS表优点:
每次同步的数据量少,缩短同步时间,否则的话就必须每次读取整个大表,操作费时;简化数据传输的跟踪和维护
缺点:
为了保证每次传输之后TRUNCATE L_TRANS表之间没有新的数据写入,必须在开始传输以前锁定L_TRANS表(LOCK TABLE L_TRANS IN EXCLUSIVE MODE),这样就造成了在传输过程中系统对L_TRANS表和L20031231的写操作被禁止,在应用程序中必须考虑到这一点。其他建议:
处理象L20031231这样每天增长很快的大表,个人认为用分区表比分成多个表更容易管理。比如建议一个叫做L的表,每天生成一个新的分区(事实上可以预先定义很多分区)来存储每天的数据,那样就只能一次性定义触发器而不需要每天生成。而且就统计角度来说也方便很多。当然这样必然牵涉到应用程序的修改,是否采用要看楼主自己的判断。