![如何将 Postgres 数据转储导入 MS SQL?](https://linux22.com/image/511427/%E5%A6%82%E4%BD%95%E5%B0%86%20Postgres%20%E6%95%B0%E6%8D%AE%E8%BD%AC%E5%82%A8%E5%AF%BC%E5%85%A5%20MS%20SQL%EF%BC%9F.png)
我有一些来自 Postgres 数据库转储(不是 csv 或其他格式)的数据,我想将其导入 MS SQL。有没有简单的方法可以做到这一点,或者有没有对数据导入大小等没有限制的免费工具?
Postgres 位于 Debian VM 上,我可以在那里将其导出到 csv,但我是 Linux 新手,不知道如何将其从 VM 传输到 Win 7。
谢谢
答案1
在 SQL Server 上,您可以使用 SSIS 解析 CSV 文件并将其加载到表中。如果它们的格式正确,您可以在 SQL Server 端使用批量导入,以便从脚本快速加载。
这是我能看到的最好的 2 个说法 ;)
答案2
标准 Postgresql 转储是一个文本文件,其中包含用于创建表和插入数据的 SQL 命令。但这几乎从来都不能与其他数据库完全兼容。如果架构非常小且简单,您可以编辑转储,查找不兼容的部分并将其替换为 MS SQL 对应部分。或者,如果您只对原始数据感兴趣(并且有几个表),您可以将其重新转储为 csv 并尝试导入它。
也可以看看:http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL
答案3
您只需通过 FTP 将 CSV 文件从 VM 传输到 Windows 即可。此外,您如何将 Postgres 数据转储从 VM 传输到 Windows?
为了将转储转换为 SSIS 可以解析的内容,您可以在 Windows 上安装一份 Postgres 副本(免费,没有数据大小限制)并将其导出为 CSV,SSIS 将能够解析它。
答案4
我的客户需要一个开源数据库解决方案,所以我选择了另一种方式:从 SQL Server 到 PostgresSQL。但是,我发现 Ian Harding 的文章有助于理解这两种数据库之间的转换要求。
要检查的另一个资源是 Postgres 应用程序堆栈列表,位于此处:
该列表主要提供框架,但也包含一些导入/导出实用程序来帮助您迁移数据库。