2
我正在遷移訪問2003應用程序以訪問2010.該應用程序使用postgres odbc驅動程序來訪問其數據。爲什麼訪問2010 postgresql odbc驅動程序調用IDENT_CURRENT?
訪問2010時,它嘗試在postgresql服務器上使用IDENT_CURRENT函數(如wireshark所示)來標識最近插入的行的ID ...不幸的是,IDENT_CURRENT不是由postgresql支持的功能,據我所知...
我正在使用postgresql 8.3數據庫的最新postgresql ODBC驅動程序(9.0)。
我能夠通過教我們的表格(主鍵始終存儲在名爲
回答
使用
currval
是正確的方式去(重點煤礦):並將其封裝在
IDENT_CURRENT
函數中是一種完全合理的移植技術。你也可以用你的
INSERT
語句(再次,重點煤礦):這可能會更快更乾淨,但仍然會有一些可移植性問題。 OTOH,我認爲無論你做什麼,你都會遇到可移植性問題。
來源
2011-04-05 16:31:02
我知道如何解決sql級別上的問題,我只是想知道爲什麼M $ Access 2010與Postgresql ODBC嘗試使用M $ SQL服務器命令在postgresql數據庫上......運行在Access 2003上的同一個數據庫不會出現這個問題 – 2011-04-06 15:26:05
@Tobi:它是Access,ODBC,PostgreSQL ODBC驅動程序還是你試圖使用'IDENT_CURRENT'的應用程序。認爲很多人使用Access和ODBC與PostgreSQL,所以我猜猜問題是更糟的在你的應用程序中,但我可能是錯的。 – 2011-04-06 17:07:16
它是以一種相當複雜的形式(一種嵌入另一種形式)訪問......應用程序在acccess 2003和8.4 odbc驅動程序中正常工作......當使用9.0 odbc驅動程序切換到2010年時,奇怪的行爲開始了。 .. – 2011-04-07 20:08:02
相關問題