MYSQL与ORACLE数据同步

老程序员 2009-01-20 07:12:34
关于论坛发帖回复与微博客同步说明

我们现在的网站是JSP,java+oa数据库的 以下简称JSP。
想用个DZ7.0,PHP+mysql的论坛 以下简称PHP。
想把在论坛中发的帖包括回复与我们网站的微博客栏目中的内容同步。http://bbs.01768.com/dsjbbs/index.php

简单地说就是:
PHP发帖到JSP中能展示。
两边都能在各自的地方回复。且两边的回复能同步展示。

具体的同步方式是:
1、在论坛中指定的版块发布新主题,除了它本身在论坛中发布外,同时向JSP发布一条微博客记录,
但在JSP中发布的微博客不需要同步在论坛发帖(这里说的发帖不是指论坛中的回复)。
2、在论坛中对主题的回复,需要同步在微博客中对应的微博客形成与论坛相同内容的回复记录。
3、在微博客中对论坛发布过来的微博客可以按照JSP网站的规则回复,除了在JSP网站展示外,同时需要在论坛的相应主题下展示。
4、对于内容的编辑(包括修改,删除),都需要同步处理两边的记录。

大家有没有好的办法??
帮我想一想。。我自己也想了方案。

使用存储过程和触发器。但是不知道MYSQL数据库是否稳定,还有可能会造成数据冗余。实现的可行性也不确定?
...全文
1088 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2009-01-22
  • 打赏
  • 举报
回复
如果不在程序中修改,那就只能在数据层做同步了。参照3楼提供的GATEWAY
oraclelogan 2009-01-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dawugui 的回复:]
帮顶.参考下和SQL SERVER的:

SQL和ORACLE之间的数据查询

配置透明网关的步骤


前一段花了些时间配置 TRANSPARENT GATEWAY
现在把心得贴出来与大家共享

我的OS是WIN2000
ORACLE 9.0
SQLSERVER2000
HOSTNAME : SVR1
都使用 tcp/ip 默认端口


1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL)
安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql

2: 配置 LISTENER.ORA

[/Quote]


正解啊,正解啊!
dawugui 2009-01-20
  • 打赏
  • 举报
回复
帮顶.参考下和SQL SERVER的:

SQL和ORACLE之间的数据查询

配置透明网关的步骤


前一段花了些时间配置 TRANSPARENT GATEWAY
现在把心得贴出来与大家共享

我的OS是WIN2000
ORACLE 9.0
SQLSERVER2000
HOSTNAME : SVR1
都使用 tcp/ip 默认端口


1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL)
安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql

2: 配置 LISTENER.ORA
(SID_DESC =
(GLOBAL_DBNAME = tg4sql) # 可自己命名
(PROGRAM = tg4msql)
(SID_NAME = sql2000) # SID 自己命名
(ORACLE_HOME = D:\oracle\ora90)
)

3: 在 oracle_home\ora90\tg4msql\admin
建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
因此文件名为:initsql2000.ora
其中内容为:
HS_FDS_CONNECT_INFO=svr1.master # svr1为SQL服务器名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

4: 重启 DATABASE AND LISTENER

5: 配置 tnsnames.ora
tg_sql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sql2000)
)
(HS=OK)
)

6: 建立 DATABASE LINK
CREATE PUBLIC DATABASE LINK DB_SQL
CONNECT TO SA IDENTIFIED BY PASSWORD
USING 'tg_sql'

7: 完成,测试
select * from t_test@db_sql

8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,
如果为 FALSE, 不必使用全称,当出现
“ORA-02019:为找到远程数据库的连接说明”
时,请使用全称,如:
select * from t_test@db_sql.US.ORACLE.COM
sleepzzzzz 2009-01-20
  • 打赏
  • 举报
回复
可以尝试下Oracle Gateway
老程序员 2009-01-20
  • 打赏
  • 举报
回复
补充一点。就是尽量不动PHP的论坛的方法?在JAVA一端进行。OK

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧