2012-03-06 52 views
2

我想從我的MS Access 2003(是的,我知道它是oldschool,但我的手綁在一起:/)創建一個Pass-through SQL語句到Oracle數據庫一臺服務器。傳遞查詢中的MS Access表達式到Oracle數據庫

長話短說,服務器表包含冰箱模型,其中每個模型用一個值,表明它的條件爲前綴的ID存在1至5倍。問題是,我必須取得冰箱的所有「版本」。在訪問我會寫這樣的:

SQL = "SELECT Right(FREEZERS.ID,4) FROM FREEZERS WHERE Right(FREEZERS.ID,4) = '" & myID & "'" 

但是,這會觸發一個錯誤在我傳遞查詢到Oracle。在傳遞查詢中甚至有可能寫這樣的表達式嗎?

我正在使用vba和QueryDef與服務器的連接字符串(工作正常,如果我刪除右() - 表達式),然後用結果打開一個記錄集。

由於事先上,維果

編輯: 啊,對不起..

拿了最後一個谷歌搜索和應答彈出:

顯然甲骨文對其中的一些功能的不同的語法。在這種情況下,我發現,Oracle有一個SUBSTR功能和長度,功能,修復我的問題..

給他人搜索:關鍵是尋找甲骨文語法,而不是直通的語法..

來源: http://peoplesofttipster.com/2008/08/18/substringing-and-oracle-sql-basic-trick/

希望它可以幫助別人:)

+1

是的,問題是pass-thru查詢運行在服務器端而不是本地,因此必須使用服務器採用的SQL語言編寫。 – 2012-03-06 13:00:10

+0

ViggoV請發表您的答案,因爲答案。 – Fionnuala 2012-04-15 09:24:50

回答

0

如上描述:

在傳遞查詢服務器的SQL語言.. :)

+0

:D謝謝ViggoV。還有一兩件事,這個問題將不會出現「懸而未決」,請其標記爲解決。謝謝! – Clon 2013-06-28 06:46:01