0

POSTGRESQL 9.0 サーバーに接続する必要がある SQL Server 2008 を持っています。

私が必要とするタスクの 1 つは、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 接続が readonly になっている可能性があります。更新/挿入リクエストを実行しようとしましたか?

nextval シーケンスを更新します。試してください:

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