将SqlServer数据库迁移到pgsql,分别尝试了以下几种方案。(最终用方法四解决)
方法一:Sqlserver链接服务器(不支持大数据迁移)
通过在Sqlserver中创建链接服务器,直接链接到pgsql。然后在查询分析器中通过[链接服务器].[数据库名].[表名]的方式读写pgsql的数据表。
此方式简单方便,在sqlserver中将查询的数据直接写入到pgsql数据表,能达到迁移数据的目的。
问题:只能导入少量数据(几千条),导入大几万条数到pgsql库时会出现“管道结束”的报错,链接服务器提供的共享内存无法支撑大数据,而且导入速度很慢。
方法二:通过ODBC数据源链接(不支持大数据迁移)
此方式与上述方法一类似,执行大数据读写的迁移语句时会出现超时提示。也是内存耗尽的问题。
方法三:导出Excel、文本文件
Excel文件的xls格式仅支持65535行数据,而选择xlsx格式导出后,导入时提示格式不对,看来是无法支持xlsx格式。于是直接尝试方法四。
方法四:导出ACCESS数据库mdb文件(推荐)
选择数据表导出生成mdb文件后,导入pgsql时出现“cannot initialize database”的提示。
需要安装AccessDatabaseEngine_X64
下载地址:https://download.csdn.net/download/quan278905570/36466612
安装后成功导入到pgsql数据库了。接下来就是在同源数据库中进行跨库数据迁移。
可以参见另一篇文章