2011-10-05 51 views
1

見編輯3最新動態:通過Access 2007向DSN-Less查詢Pervasive數據庫?

背景故事:

我試着找了,我討厭問這樣一個問題newbish但在這裏不用。

我最近得到了一個顯然連接(或用來)連接到普及數據庫的數據庫。這是在Access數據庫中的查詢由這種格式之前:

SELECT * FROM (ODBC;DRIVER={Pervasive ODBC Client Interface}; 
ServerName=####;ServerDSN=DB;ArrayFetchOn=;ArrayBufferSize=;OpenMode=1; 
DecimalSymbol=.;ClientVersion=9.50.077.002;CodePageConvert=1252; 
AutoDoubleQuote=0;)distributors; 

我真的不知道,如果這個工作過或沒有,但無論如何。我得到了關於連接字符串的新信息,據說如下。我不確定它來自哪裏,我只知道他們告訴我什麼。

ODBC;DSN=DATABASE;ServerName=######.#####;ServerDSN=DATABASE;ArrayFetchOn=1; 
ArrayBufferSize=8;TransportHint=TCP:SPX;ClientVersion=10.10.125.000; 
CodePageConvert=1252;PvClientEncoding=CP1252;PvServerEncoding=CP1252; 
AutoDoubleQuote=0; 

我試過兩個不同的排列和發現,如果我使用的是這樣的:

SELECT * FROM (ODBC;DRIVER={Pervasive ODBC Client Interface};[email protected]; 
ServerName=#######.#####;ArrayFetchOn=1;ArrayBufferSize=8; 
TransportHint=TCP:SPX;ClientVersion=10.10.125.000;CodePageConvert=1252; 
PvClientEncoding=CP1252;PvServerEncoding=CP1252;AutoDoubleQuote=0;) distributors; 

我得到JOIN功能的語法錯誤。我一直在玩查詢,發現了各種錯誤,但這是我遇到的最多的錯誤。這個想法/最終目標是數據庫可以查詢普及數據庫,而無需使用任何客戶端DSN或者儘可能設置類似的東西。爲了記錄,這是一個Win7的機器與Access 2007和(我認爲)普及10.

再一次,可能是簡單的愚蠢,但如果任何人有任何想法或輸入,它將不勝感激。 :)

編輯:我想這個問題將問爲什麼Access說我的SQL查詢是錯誤的,I.E.爲什麼當我看不到任何連接時,它會拋出Join錯誤(JOIN函數的語法錯誤)?它突出了第一個分號的FROM(ODBC後,部分

編輯2:周圍多一點玩,我發現,這個查詢與定義DSN相結合,是我的結果:

SELECT * FROM [ODBC;DRIVER={Pervasive ODBC Client Interface} 
ServerName=#####.#####;DBQ=st;ArrayFetchOn=1;ArrayBufferSize=8; 
TransportHint=TCP:SPX;ClientVersion=10.10.125.000;CodePageConvert=1252; 
PvClientEncoding=CP1252;PvServerEncoding=CP1252; 
AutoDoubleQuote=0].[distributors]; 

然而,如果有辦法讓這個DSN更少,這將是最終目標。:)

編輯3:我找到了答案。各種各樣的。

我想如果配置它,它的工作原理。希望這可以幫助別人。 ^^

SELECT * 
FROM [ODBC;DRIVER={Pervasive 
ODBC Client Interface}; 
ServerDSN=st;ServerName=######.#####;ArrayFetchOn=1; 
ArrayBufferSize=8;TransportHint=TCP:SPX;ClientVersion=10.10.125.000; 
CodePageConvert=1252;PvClientEncoding=CP1252; 
PvServerEncoding=CP1252;AutoDoubleQuote=0;].[distributors]; 
+0

好的背景信息,但你忘了問一個問題。 – JohnFx

+0

哦,我想我沒有,至少全部清楚。謝謝! –

+0

這是一個非常奇怪的查詢語法。 Wny不只是在Access中鏈接表並在查詢中使用標準SQL? – JohnFx

回答

2

認爲如果配置它,它的工作。希望這可以幫助別人。 ^^

SELECT * 
FROM [ODBC;DRIVER={Pervasive 
ODBC Client Interface}; 
ServerDSN=st;ServerName=######.#####;ArrayFetchOn=1; 
ArrayBufferSize=8;TransportHint=TCP:SPX;ClientVersion=10.10.125.000; 
CodePageConvert=1252;PvClientEncoding=CP1252; 
PvServerEncoding=CP1252;AutoDoubleQuote=0;].[distributors]; 
+0

我甚至不知道你可以把連接字符串放在傳遞查詢中。謝謝! –