Как мне создать ссылку Jet ODBC на представление SQL Server с точками в именах полей?

StackOverflow https://stackoverflow.com/questions/160467

Вопрос

Мне нужно создать ссылку ODBC из базы данных Access 2003 (Jet) на представление, размещенное на SQL Server, которое содержит псевдонимные имена полей, содержащие такие периоды, как:

Seq.Group

В исходном коде SQL за представлением имена полей заключены в квадратные скобки...

SELECT Table._Group AS [Seq.Group]

...таким образом, SQL Server не жалуется на создание представления, но когда я пытаюсь создать ODBC-ссылку на него из Jet DB (программно или через пользовательский интерфейс Access 2003), я получаю сообщение об ошибке:

'Seq.Group' - недопустимое имя.Убедитесь , что в нем нет недопустимых символов или знаков препинания и что оно не слишком длинное.

К сожалению, я не могу изменить структуру представления, потому что это часть другого продукта, поэтому я придерживаюсь названий полей такими, какие они есть.Я мог бы добавьте мое собственное представление с именами полей без знаков препинания, но я бы действительно предпочел вообще не изменять SQL Server, потому что тогда это становится еще одной точкой обслуживания при каждом обновлении, исправлении и т.д.Кто-нибудь знает лучшее решение?

Это было полезно?

Решение

Хотя технически мне не удалось избежать точки, на самом деле ваше предложение сделал заставь меня осознать другую альтернативу.Пока я размышлял, как бы мне "передать" escape-код на сервер "SQL", меня осенило:Почему бы не использовать "Сквозной запрос SQL" вместо связанной с ODBC таблицы?Поскольку мне нужен только доступ на чтение к данным SQL Server, это работает нормально!Спасибо!

Другие советы

Просто догадываюсь здесь:вы пробовали избежать точки?Что-то вроде "[Seq\.Group]"?

Другим предложением было бы добавить новое представление на ваш sql server, не изменяя существующее.Даже если ваше первоначальное представление является частью "решения", ничто не запрещает вам добавлять новые представления:

SELECT Table._Group AS [Seq_Group]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top