Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
Есть Access база данных, например access_file.mdb . В ней есть таблица table_1 , содержащая поле с именем "Order". На сервере (Sybase ASA 9 - 9.0.2.3182) создается удаленное подключение к access_file.mdb через ODBC. Создается proxy таблица для table_1. В хранимой процедуре предпринимается попытка выполнить insert into table_1 ( Order) select t.some_field from some_table t . Сервер категорически отказывается воспринимать слово Order в данном контексте. Варианты "Order" или [Order] также не работают. Что еще можете посоветовать? Переименование поля в таблице access файла в данном случае невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 09:37 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
Вариант с "Order" работает , только перед этим надо поставить режим quoted-identifier on Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 10:45 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
MasterZivВариант с "Order" работает , только перед этим надо поставить режим quoted-identifier on Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. А кто Вам запрецает дать для Proxy таблицы другое имя, а в MDB будет прежнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 12:38 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
VinogradoА кто Вам запрецает дать для Proxy таблицы другое имя, а в MDB будет прежнее вроде проблема в поле под названием "order" З.Ы. Проверил на ASA9.0.0 1383 (последний билд под 9.0.0) - так сервер просто падает , дома проверю на 9.0.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 13:39 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
авторА кто Вам запрецает дать для Proxy таблицы другое имя, а в MDB будет прежнее Никто не запрещает, более того я и присваиваю proxy таблицам имена, отличные от оригинальных. Но дело не в этом. Проблема как раз заключается в использовании ключевого слова для поля в proxy таблице. 1. Уточнение:Could not execute statement. Server 'RemoteAccessDB':[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. SQLCODE =-660, ODBC 3 State="HY000" Судя по сообщению об ошибке - проблема, видимо, заключается в настройках соединения с mdb файлом. 2. Слово Order на данный момент пока единственное из ключевых слов, с которым появляется эта ошибка. С другими ключевыми словами, использующимися в качестве имен столбцов (например ID, Type, Status, Leave и т.п.) все работает прекрасно. 3. Выяснить, как при создании proxy таблицы назначить имя столбцу, отличное от оригинального, пока не удалось. Возможно ли такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 14:17 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
авторВариант с "Order" работает , только перед этим надо поставить режим quoted-identifier on SET OPTION quoted_identifier = 'ON'('OFF'); - не решает проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 15:37 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
S_Hohlov авторА кто Вам запрецает дать для Proxy таблицы другое имя, а в MDB будет прежнее Никто не запрещает, более того я и присваиваю proxy таблицам имена, отличные от оригинальных. Но дело не в этом. Проблема как раз заключается в использовании ключевого слова для поля в proxy таблице. 1. Уточнение:Could not execute statement. Server 'RemoteAccessDB':[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. SQLCODE =-660, ODBC 3 State="HY000" Судя по сообщению об ошибке - проблема, видимо, заключается в настройках соединения с mdb файлом. 2. Слово Order на данный момент пока единственное из ключевых слов, с которым появляется эта ошибка. С другими ключевыми словами, использующимися в качестве имен столбцов (например ID, Type, Status, Leave и т.п.) все работает прекрасно. 3. Выяснить, как при создании proxy таблицы назначить имя столбцу, отличное от оригинального, пока не удалось. Возможно ли такое? Проблема в драйвере ODBC, попробуй посмотреть синтаксис в самом Access'е и попробуй именно данный синтаксис послать ему, еще можно попытаться выгрузить структуру базы и посмотреть, какие параметры использует твой удаленный сервер, там будет куча строчек после create server .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 17:34 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
Что можно попробовать: 1. Сделать в Access на таблицу запрос уже с нормальными названиями полей и именно его подключать в качестве прокси-таблицы. 2. Поиграться с ASA БД опцией NON_KEYWORDS. Первый вариант предпочительней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 17:41 |
|
||
|
Проблема использования ключевых слов в качестве идентификаторов объектов базы данных
|
|||
|---|---|---|---|
|
#18+
все плохо, вот что написано в документации BOLFeatures not supported for remote data -------------------------------------------------------------------------------- The following Adaptive Server Anywhere features are not supported on remote data. Attempts to use these features will therefore run into problems: ALTER TABLE statement against remote tables Triggers defined on proxy tables will not fire SQL Remote Foreign keys that refer to remote tables are ignored The READTEXT, WRITETEXT, and TEXTPTR functions. Positioned UPDATE and DELETE UPDATE and DELETE requiring an intermediate temporary table. Backwards scrolling on cursors opened against remote data. Fetch statements must be NEXT or RELATIVE 1. If a column on a remote table has a name that is a keyword on the remote server, you cannot access data in that column. Adaptive Server Anywhere cannot know all of the remote server reserved words. You can execute a CREATE EXISTING TABLE statement, and import the definition but you cannot select that column. немного врут, правда, поскольку select выполняется, а вот update и insert - никак ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 19:38 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33363793&tid=2013278]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 275ms |
| total: | 465ms |

| 0 / 0 |
