Coldfusion:将数据从一个数据源移动到另一个数据源

时间:2012-05-10 00:04:19

标签: coldfusion datasource cfquery

我需要将一系列表从一个数据源移动到另一个数据源。我们的托管公司没有在数据库之间提供共享密码,因此我无法编写SQL脚本来处理它。

最好的选择就是编写一个小的coldfusion脚本来处理它。

通常我会这样做: SELECT * INTO database.table FROM database.table

唯一的问题是cfquery不允许你在同一个查询中使用两个数据源。

我认为我不能使用QoQ,因为你不能告诉它使用第二个数据源,而是使用dbType为'Query'。

有人能想到任何明智的方法来完成这项工作吗?或者只是在第一个查询中循环遍历每一行的唯一选项,将它们分别添加到第二个?

我的问题是它需要更长的时间。我们有很多桌子要移动。

4 个答案:

答案 0 :(得分:5)

好的,所以你没有数据库之间的共享密码,但你似乎确实拥有每个数据库的密码(因为你已经设置了数据源)。那么,您可以从数据库1到数据库2创建链接服务器定义吗?可以针对链接服务器保存用户凭据,因此它们不必与源数据库相同。设置完成后,您肯定可以在两个DB之间移动数据。

我们始终使用此功能将我们的实时数据库中的数据同步到我们的测试环境中。如果这对您有用,我可以提供更具体的SQL。

答案 1 :(得分:3)

您可以在同一查询中访问两个数据库,但不能访问两个数据源。

答案 2 :(得分:3)

几年前我写了一些名为" DataSynch"就这种事情而言。

http://www.bryantwebconsulting.com/blog/index.cfm/2006/9/20/database_synchronization

您工作所需的一切都包含在我的免费" com.sebtools"包: http://sebtools.riaforge.org/

几年后我还没有实际使用过这个,但是我无法想出它为什么还能运作的原因。

答案 3 :(得分:0)

亨利 - 为什么要这样做?为什么不使用SQL管理器移动选定的表来使用“导入数据”功能? (右键单击你的dB并选择“import” - 然后使用本机客户端和“other”数据库的权限来指定表。你的SQL管理员需要访问这两个DB,但db服务器本身不需要互相访问。你的经理工作室将作为一个渠道。