导航

SQL SERVER 链接服务器 Postgresql 连接 Postges

Posted on 2020-05-22 18:51  yiyishuitian  阅读(2761)  评论(0编辑  收藏  举报

 

 

 

1 下载 ODBC 驱动,可以找最新的安装。我下载的是:

https://www.postgresql.org/ftp/odbc/versions/msi/

https://www.postgresql.org/ftp/odbc/versions.old/msi/

2 到SQL SERVER 服务器上安装次 驱动

 

3 配置ODBC(X64) ,配置64位后 32位的会自动也生成一个同名配置

 

 

4 添加 SQL 链接服务器

 

use [master]
go

/****** Object:  LinkedServer [172.30.0.146]    Script Date: 2020/5/22 18:46:26 ******/
exec master.dbo.sp_addlinkedserver @server = N'10.10.0.10', @srvproduct=N'Any', @provider=N'MSDASQL', @datasrc=N'PostgreSQL35W'
 /* For security reasons the linked server remote logins password is changed with ######## */
exec master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'10.10.0.10',@useself=N'False',@locallogin=null,@rmtuser=N'username',@rmtpassword='password'

go

 

5 查询
 


-- 1 语句内可以使用双引号"。
-- 2 表名和模式名 需要使用双引号 包裹起来。
-- 3 如果需要使用单引号时',需使用两个单引号转义''


select
* from openquery([10.10.0.10],'select * from "schema"."table"')

INSERT into OPENQUERY([10.10.0.10],'select name from "public"."student" WHERE 1=0')

VALUES('biangx')

update openQuery([10.10.0.10],'select name,age,sex from "public"."student" ') 

SET age = 100
WHERE name = 'New Name'

DELETE FROM openQuery([10.10.0.10],'select name,age,sex from "public"."student" ') 

WHERE name = 'New Name'