0

我有一个需要连接到 POSTGRESQL 9.0 服务器的 SQL Server 2008。

我需要的任务之一是通过 POSTGRESQL 获取序列的下一个值

示例 1:

execute ('select nextval( ''cadastro.pessoa_seq'' )' ) at POSTGRESQL ;

错误:

消息 7215,级别 17,状态 1,第 1 行无法在远程服务器“POSTGRESQL”上执行语句。*

示例 2:

select * from openquery( POSTGRESQL ,'select nextval( ''cadastro.pessoa_seq'' )')

错误:

消息 7399,级别 16,状态 1,第 1 行链接服务器“POSTGRESQL”的 OLE DB 提供程序“MSDASQL”报告错误。提供商报告了意外的灾难性故障。消息 7350,级别 16,状态 2,第 1 行无法从链接服务器“POSTGRESQL”的 OLE DB 提供程序“MSDASQL”获取列信息。*

这些选项都不起作用!

有什么好的选择吗?

先感谢您

4

2 回答 2

1

处理 ODBC 源和 postgres 我必须这样做:

nextval(''cadastro.pessoa_seq''::regclass) for it to work 
于 2012-01-25T23:44:17.247 回答
0

也许您的 Postgresql 连接是只读的,您是否尝试过执行更新/插入请求?

nextval 更新序列,尝试:

currval(''cadastro.pessoa_seq''::regclass)
于 2015-09-15T08:17:15.220 回答