Запрос DSN-Less к распространяющейся БД через Access 2007?

См. Редактировать 3 для последних событий:

Предыстория:

Я пытался искать, и я не хочу задавать такой вопрос новичка, но здесь идет.

Недавно я получил базу данных, которая, по-видимому, подключается (или используется) для подключения к Pervasive Database. До того, как запросы в базе данных 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};DBQ=@DATABASE;
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 и (я думаю) Pervasive 10.

Опять же, возможно, что-то просто глупое, но если у кого-то есть какие-либо идеи или предложения, это будет с благодарностью.:)

РЕДАКТИРОВАТЬ: я думаю, вопрос заключается в том, чтобы спросить, почему Access говорит, что мой запрос SQL является неправильным, IE Почему он выдает ошибку соединения (синтаксическая ошибка в функции 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];

1 ответ

Решение

Подумайте, если это изобразил, это работает. Надеюсь, это поможет кому-то еще. ^^

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];
Другие вопросы по тегам