将数据从一个数据库传输到另一个数据库

| 我的数据库中有大量数据,需要将这些数据传输到另一台服务器。我正在使用SerializeJSON将数据写入文件,对于少量数据可以正常工作,但是现在我已经摆脱了内存错误。数据库服务器不在同一网络中。他们可以互相“看到”,所以这就是我要传输文件中数据的原因。 关于如何使用文件和ColdFusion将数据从一个数据库传输到另一个数据库的任何想法?     
已邀请:
        您的问题给人的印象是OOM正在写入数据。也许通过尝试编写整个记录集。相反,您可能需要编写遍历数据页面的算法-SQL Server的ROW_NUMBER(ORDER BY x,y,z)是实现此目的的正确方法。然后,您可以写出多个文件或使用fileWrite(fileObj,data)创建一个大文件-后者可能需要使用JSON以外的其他格式,例如CSV。 现在,如果问题出在数据插入上,则ColdFusion和SQL语句循环存在一个错误。基本上,当重复循环时,需要将ѭ0放在ѭ1里面。 最后,如果您遇到从文件读取数据的问题,则需要进行缓冲读取。在这种情况下,您将需要使用CSV作为序列化格式,或者如果使用XML,则需要使用SAX XML解析器,但是我不知道以缓冲方式读取的JSON解析器。     
        我采用的方法是切断应用程序服务器(ColdFusion),并尝试使用DTS滚动进程。想法是将每个表中的特定数据库行导出为单个导出,然后可以将其导入另一个数据库。 因此,请查看您的架构并计算出需要查询的表,然后为每个表编写这些查询。根据新数据库中的主键,您可能需要修改导入语句以避免插入主键,而是让数据库来处理该主键-并且您将需要调整任何其他引用此(更改的)主键的导入。 这是一项棘手的工作,我认为您最好使用DTS之类的数据库工具手动完成。 希望对您有所帮助。     
        看一下Jailer。这是一个基于Java的GUI应用程序,可让您选择数据库的特定表并根据某些条件导出数据。它效果很好,并且易于使用。     
        如果您拥有SQL Server Management Studio,为什么不创建一个完整的备份文件,则将所有数据,然后在新数据库上运行还原。那应该恢复所有的模式,表和数据。 hth, 拉里     

要回复问题请先登录注册