乘着倒数据这会儿,把方法记录一下
需求:因为数据迁移,需要将SQL Server 2012中的数据库导入到PostgreSQL 数据库中
思路:创建一个空的数据库,便于导入数据。下载PostgreSQL的ODBC驱动,然后使用SQL Server的【任务->导出数据】功能来导出数据。
方法:
1、下载驱动
地址:https://www.postgresql.org/ftp/odbc/versions/msi/
这里我下的是psqlodbc_09_05_0400-x86.zip,虽然服务器是64位的,但是出现了问题,后面会说到,这里还是下载32位的驱动。
2、配置PostgreSQL数据源
1)、打开C:\Windows\SysWOW64\odbcad32.exe
2)、在用户DSN中点击添加按钮,找到PostgreSQL Unicode驱动,然后点击完成,此时会弹出PostgreSQL数据源配置界面,如下图。
3)、填写好参数之后:DataSource是该配置的数据源名称。点击test测试连接是否成功,成功之后点击Save。最后点击确定。
3、导出数据
1)、右键需要导出的数据库,然后选择【任务->导出数据】
2)、在"选择目标"界面中的"目标",选择.net Freamework Data Provider for Odbc.然后在DSN项中填入刚才自己添加的ODBC数据原名称,然后点击下一步,如果进入下一个步骤,说明连接成功,"选择目标"界面如下图:
3)、最后选中你需要导出的表,一步一步操作即可,最后成功的界面应该是数据正在导出,如下图所示:
4、注意事项
在第3步中,如果DSN地址填错,或者是ODBC数据源管理程序和系统位数冲突就会报如下错误:"未发现数据源名称并且未指定默认驱动"
修正方法:ODBC数据源管理程序使用另一个位数(32或64)重新添加PostgreSQL数据源,ODBC数据源管理程序目录:
C:\Windows\system32\odbcad32.exe