Почему мое внутреннее объединение выдает синтаксические ошибки?

Почему мои строки синтаксиса бросают строки SQL? Ответ: MDBTools не поддерживает JOIN, ORDER BY или другие SEE. http://github.com/brianb/mdbtools/blob/master/src/sql/lexer.l

Этот код не работает (синтаксическая ошибка рядом.):

$db = "access.mdb";
$conn = new PDO("odbc:DRIVER=MDBTools; DBQ=$db; Uid=; Pwd=;");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql =        'SELECT "Order No", "Ship To File"."Cust Name" ';
$sql = $sql . 'FROM "Order File" ';
$sql = $sql . 'INNER JOIN "Ship To File" ';
$sql = $sql . 'ON "Order File"."Customer No" = "Ship To File"."Cust No" ';
$sql = $sql . 'WHERE "Order No"=\'RV2002-001\'';

Больше / Другая информация:
Совершенно уверен, что это «Корабль в файл». «Имя Cust». бросая рядом. ошибка, потому что без «Ship To File». «Cust Name» изменяет ошибку на почти INNER, что заставляет меня думать, что проблема заключается в пространстве имен для полей и таблиц с пробелами.

Замена двойных кавычек галочками для таблиц и полей с пробелами сломает даже самые простые запросы (синтаксическая ошибка около `). INNER JOIN-запрос, кажется, прекрасно работает в MS-Access, но с двойными кавычками в скобках.

Этот код также не работает (синтаксическая ошибка в `):

$db = "access.mdb";
$conn = new PDO("odbc:DRIVER=MDBTools; DBQ=$db; Uid=; Pwd=;");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql =        "SELECT `Order No` ";
$sql = $sql . "FROM `Order File` ";

Этот код дает мне запись / результат:

$db = "access.mdb";
$conn = new PDO("odbc:DRIVER=MDBTools; DBQ=$db; Uid=; Pwd=;");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql =        'SELECT "Order No" ';
$sql = $sql . 'FROM "Order File" ';
$sql = $sql . 'WHERE "Order No"=\'RV2002-001\'';

Подсистема Windows для Linux, PHP версии 5.5.9-1ubuntu4.22, apache2, MDBTools, не может изменять таблицы или поля базы данных (доступ к базе данных по символической ссылке в настоящее время, пока другие все еще используют MS Access для своего интерфейса).

«Отправка в файл». «Cust No» — это тип (autonumber)
«Файл заказа.« Номер клиента »- это тип (номер)

Комментарии или предложения?

1

Решение

MDBTools не поддерживает JOIN или ORDER BY. УВИДЕТЬ http://github.com/brianb/mdbtools/blob/master/src/sql/lexer.l

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]