|
想要将SQL Server 2000中的数据实时同步到远程服务器oracle数据库中,我的采取的方案是这样的:1、SQL Server 2000与oracle数据库建立连接;2、使用SQL Server 2000中的“作业”功能,每一个小时触发一次并上传前一个小时的所有数据。(由于使用触发器无法向远程服务器中插入数据,所以选择此方案来同步数据,但这就不是真正意义上的实时同步数据了。)
首先因为客户端与服务端数据库版本不同和驱动版本不同等等原因,直接使用SQL Server 2000中的ole db oracle驱动是无法直接与Oracle数据库建立连接。所以我们选择自己安装相应的Oracle数据库的ODBC驱动,然后使用ODBC数据源来连接服务器数据库。而安装ODBC驱动的方法在此网址中:http://wenku.baidu.com/link?url=VcmA9Y19IfdqkpxVQldtEna2N7hZI0oHq3nqJdg-2wMuc2pD4zo_3By3DMaDFU7J5OXNQL_RYd9vMGDWp0NGGYU5-fCneuerg8ztjBBEJzC(切记:TNS Service Name所填写的是服务器的IP地址和数据库名。如,192.168.1.99/orcl)
准备工作完成之后,我们开始连接服务器。让SQL Server 2000与服务器进行连接,点击“安全性”展开目录选项,右击“连接服务器”选项,选择“新建连接”,弹出如下对话框:
选择Mocrosoft OLE DB Provider for ODBC选项,然后填入服务器名称,产品名称和数据源(注意:数据源填入我们新建的ODBC数据源名称)。之后选择“安全性”选项卡,进入如下界面:
选择“用此安全上下文进行”选项,也就是最后一项。填入scott用户名和密码,再点击确定,至此服务器连接已经创建完毕。然后我们点击新建的服务器,然后再双击其名下的表,如果在右方出现服务器Oracle数据库中的表,则说明我们创建的连接已经成功。
如果连接失败,可能是因为如下服务没有开启的缘故,将其启动并设为自动模式即可:
服务器连接成功之后,所需要做的就是将SQL Server 2000中的数据实时同步到服务器中去。因此我们使用SQL Server 2000数据库中的“作业”来进行数据库的实时上传操作。
首先打开“管理”->“SQL Server代理”,然后再右击“作业”选项,选择“新建作业”子选项,弹出作业设置选项框,如下所示:
在“常规”选项卡中对作业进行命名;然后进入“步骤”选项卡,点击“新建步骤”,进入步骤配置:步骤名可以随意取,选择客户端需要上传数据的数据库,最后写入上传数据代码。
例如:
语句1:insert into openquery(DTSW,'select * from 表名') select * from 表名 where 日期=convert(varchar(100),GETDATE(),111) and convert(varchar(100),dateadd(hh,-1,GETDATE()),8) |
|