问题
想把SQLServer的数据库迁移到PgSql里面,因为两个数据库业务表的结构和字段都不一样,需要逐表进行按需抽取想要的字段并导入数据。
解决方案
可以在SqlServer里面创建链接服务器,链接到Pgsql的表,然后在SQLServer中把数据写入到Pgsql数据库。(SqlServer链接Mysql也是一样的方法)。
步骤1:创建ODBC数据源
在开始菜单中输入ODBC,找到ODBC64位数据源(我的是64位系统,如果后续链接服务器连接时提示架构不匹配,就要用ODBC32位来创建)。
在系统DSN中点击添加,选择PostgreSQL Unicode(x64)驱动,其他编码类型也是可以的。
如果这里没有看到postgresqlODBC驱动,需要安装一下。
输入数据源名称(创建链接数据库时需要用到),数据库名、IP、端口、登录账号密码。
点击test,会提示验证成功。然后确定后退出ODBC数据源创建成功。
步骤2:创建SqlServer链接服务器
在SqlServer企业管理器中,右击服务器对象》链接服务器 ,新建链接服务器。 (下图为创建后的信息)
1.在常规页面中:输入链接服务器的别名和刚才创建的ODBC数据源名称。
2.点击左边切换到安全性页面:输入pgsql的登录账号密码。确定后,链接服务器创建成功。
步骤3:读写Pgsql数据库
在SqlServer中读写pgsql的数据,sq查询语句的格式为:
Select * From [链接服务器名].[远程数据库名].[所有者].[表名]
示例如下:
select * from [MHZLS_PG].[db_fee_mhzls].[public].[menu]
以上,完毕。