如何在SQL Server中自动存储Oracle中的数据(根据计划)

时间:2009-06-01 16:52:53

标签: sql-server oracle automation scheduled-tasks

您好, 我是新来的,很抱歉,如果我的问题太基础了。但是,也许你有一些建议,例如,链接,这可以帮助我......我试图找几天有用的东西,但现在没有结果。

我在分布式环境中工作。我有一个数百英里之外的Oracle服务器和一个靠近我的MS SQL服务器。我正在使用Visual Web Developer 2008 Express编写应用程序。我需要Oracle的一些数据。每次我需要一些数据时,都不值得查询Oracle服务器。我更喜欢每晚运行一次Oracle查询,并将结果存储在一些本地(SQL Server)表中。我假设,我应该通过标准的Windows调度程序(Windows Server 2008)运行查询。我有基本连接 - 我可以从本地Visual Studio打开Oracle数据库。

问题是:

  1. 如何编写一个从Oracle获取数据并将它们放入SQL Server表的查询/过程/函数(可能在每次查询运行之前重新创建)?
  2. 如何从命令行运行此类查询(或以其他方式从调度程序运行)
  3. 哪些命名约定适用?在VS中,我使用类似//IP.IP.IP.IP/Name和密码用户的内容。
  4. 感谢您提供任何帮助或建议。

    此致 利玛

3 个答案:

答案 0 :(得分:2)

我建议您与Oracle和SQL Server数据库的DBA联系,因为您可能需要考虑其他因素。 (数据完整性,安全性,所有权等)

您可以遵循的一条路线是实施DTS(对于较旧的数据库)或SSIS(对于新版本的SQL Server)进程,以便按照您希望的计划复制数据。 (这几乎就是他们的目的。)

答案 1 :(得分:0)

...谢谢

我是SQL Server的DBA,它只适用于我的应用程序。对于Oracle,我只想读取数据,并且我有足够的权限和与DBA的协议。安全,所有权和诚信现在不是问题。我只需要一些技术建议如何按计划从Oracle获取数据到MSSQL表。

我使用的是MS SQL Server 2008 Express SP1。我非常接近解决我的问题 - 我建立了连接,所有安装和工作。我只是不知道,如何运行查询,这将从Oracle获取数据并定期输入MSSQL,无需手动交互。

我在编程方面有一些经验,但在数据库方面并不多(除了创建复杂的SQl查询)。因此,一些示例或详细描述的链接将是有帮助的。我不确定命名约定,过程,函数和查询之间的差异,运行db自动化过程的命令行选项等等。我也不确定MS SQL Server 2008 Express版中可用的机制或技术。

答案 2 :(得分:0)

我们谈论了多少数据? 如果每天需要转移的数量很少,您可以用您选择的语言编写一个愚蠢的获取和插入脚本。 如果“同步”会占用太多资源,您只需要搜索更好的解决方案。