0

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

最好的选择就是编写一个处理它的小冷融合脚本。

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

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

我认为我也不能使用 QoQ,因为您不能告诉它使用第二个数据源,而是要有一个 dbType 为“Query”。

谁能想到任何聪明的方法来完成这件事?或者是唯一的选择只是循环第一个查询中的每一行,将它们单独添加到第二个?

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

4

4 回答 4

5

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

我们一直使用它来将实时数据库中的数据同步到我们的测试环境中。如果这对您有用,我可以提供更具体的 SQL。

于 2012-05-10T02:19:32.777 回答
3

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

于 2012-05-10T00:44:08.223 回答
3

几年前我为这类事情写了一个叫做“DataSynch”的东西。

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

你需要的一切都包含在我的免费“com.sebtools”包中: http ://sebtools.riaforge.org/

我已经有几年没有真正使用过它了,但我想不出它为什么仍然不起作用的任何原因。

于 2012-05-10T02:42:38.510 回答
0

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

于 2012-05-10T02:41:23.420 回答