Change your case, as it looks like your database layer is automatically quoting it if you use CamelCase.
A quick test in a Firebird 2.5 database here shows:
SQL> select t1.usuario, t1.NoExisto from sg_usuario t1;
Statement failed, SQLSTATE = 42S22
Dynamic SQL Error
-SQL error code = -206
-Column unknown
-T1.NOEXISTO
-At line 1, column 23
SQL> select t1.usuario, "t1.NoExisto" from sg_usuario t1;
Statement failed, SQLSTATE = 42S22
Dynamic SQL Error
-SQL error code = -206
-Column unknown
-t1.NoExisto
-At line 1, column 34
As you see, the database engine generates an error with camel case only when it gets the SQL query using quotes.
I suggest you to try myfield_id or use the correct case you have in your field name.
select
table1.pkfield1,
table1.field_no,
table1.fk1_id,
table1.fk2_id,
table1.myfield_id,
table1.bfield,
table2.desc1,
table2.desc2,
table2.desc3
from table2
right outer table1 on (table2.pk1_id = table1.fk1_id)
Order by table1.fk1_id, table1.field_no desc
Симптомы
При выполнении запроса с помощью управляемого поставщика для DB2, который входит в состав Microsoft узла Integration Server 2013 запрос может произойти сбой и появляется следующее сообщение об ошибке:
SQLCODE -206
Причина
Эта проблема может возникнуть при использовании класса StringBuilder и оператор разбивается на несколько строк. Класс StringBuilder добавляет дополнительные символы в функции AppendLine . Это приводит к возникновению проблем в средстве синтаксического анализа.
Решение
Информация о накопительном пакете обновления
Исправление, устраняющее эту проблему включено в Накопительное обновление 1 для узла Integration Server 2013.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».
Нужна дополнительная помощь?
Submitted by: Ukrtelecom (ukrtelecom)
WORK —
insert into stat_wtmp (bill_serv_id,
login,
domain_name,
calling_station_id,
called_station_id,
nas_ip_address,
framed_ip_address,
nas_port_id,
session_id,
connect_info,
time_begin,
session_active,
cur_input_octets,
cur_output_octets,
/* connect_info,*/
time_end
)
values(:CUR_BILL_SERVICE_ID,
:login,
:domain_name,
:caller_id,
:called_id,
:nas_ip_addr,
:user_ip_addr,
:nas_port_id,
:session_id,
:connect_info,
:packet_timestamp,
:cur_session_active,
:input_octets,
:output_octets,
/* :connect_info,*/
:packet_timestamp);
NOT WORK —
insert into stat_wtmp (bill_serv_id,
login,
domain_name,
calling_station_id,
called_station_id,
nas_ip_address,
framed_ip_address,
nas_port_id,
session_id,
connect_info,
time_begin,
session_active,
cur_input_octets,
cur_output_octets,
connect_info,
time_end
)
values(:CUR_BILL_SERVICE_ID,
:login,
:domain_name,
:caller_id,
:called_id,
:nas_ip_addr,
:user_ip_addr,
:nas_port_id,
:session_id,
:connect_info,
:packet_timestamp,
:cur_session_active,
:input_octets,
:output_octets,
:connect_info,
:packet_timestamp);
Dynamic SQL Error.
SQL error code = -206.
unknown ISC error 336397210.
unknown ISC error 336397208.
FIELD — connect_info;
TABLE STAT_WTMP:
CREATE TABLE STAT_WTMP (
ID_WTMP_ITEM ID /* ID = INTEGER DEFAULT 0 */,
BILL_SERV_ID ID /* ID = INTEGER DEFAULT 0 */,
NAS_IP_ADDRESS IPADDRESS /* IPADDRESS = VARCHAR(15) */,
NAS_PORT_ID BIGINTEGER /* BIGINTEGER = BIGINT */,
TIME_BEGIN ACCOUNT /* ACCOUNT = INTEGER */,
TIME_END ACCOUNT /* ACCOUNT = INTEGER */,
SESSION_TIME COUNTER /* COUNTER = INTEGER */,
CALLING_STATION_ID VARCHAR128 /* VARCHAR128 = VARCHAR(128) */,
CALLED_STATION_ID VARCHAR128 /* VARCHAR128 = VARCHAR(128) */,
FRAMED_IP_ADDRESS IPADDRESS /* IPADDRESS = VARCHAR(15) */,
SESSION_ID VARCHAR128 /* VARCHAR128 = VARCHAR(128) */,
INPUT_OCTETS BIGINTEGER DEFAULT 0 /* BIGINTEGER = BIGINT */,
CUR_INPUT_OCTETS BIGINTEGER DEFAULT 0 /* BIGINTEGER = BIGINT */,
OUTPUT_OCTETS BIGINTEGER DEFAULT 0 /* BIGINTEGER = BIGINT */,
CUR_OUTPUT_OCTETS BIGINTEGER DEFAULT 0 /* BIGINTEGER = BIGINT */,
CONNECT_INFO VARCHAR64 /* VARCHAR64 = VARCHAR(64) */,
LOGIN VARCHAR32 /* VARCHAR32 = VARCHAR(32) */,
DOMAIN_NAME VARCHAR64 /* VARCHAR64 = VARCHAR(64) */,
SESSION_ACTIVE TRUEFALSE DEFAULT 1 /* TRUEFALSE = INTEGER */,
DATE_WR DATETIME DEFAULT ‘now’ /* DATETIME = TIMESTAMP */,
SPEED_UP VARCHAR16 /* VARCHAR16 = VARCHAR(16) */,
SPEED_DOWN VARCHAR16 /* VARCHAR16 = VARCHAR(16) */
);
|
|
|
информация о разделе
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных — обсуждаем в разделе «Базы данных: общие вопросы». Убедительная просьба — соблюдать «Правила форума» и не пренебрегать «Правильным оформлением своих тем». Прежде, чем создавать тему, имеет смысл заглянуть в раздел «Базы данных: FAQ», возможно там уже есть ответ. |
[Firebird] В запросе не определяется поле
, Рекурсивный запрос не разруливает поле
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Full Member Рейтинг (т): 5 |
Привет. У меня есть иерархическая таблица XXXX. Пытаюсь для нода определить парентов и чайлдов, чтобы произвести вставку в другую таблицу. Однако Firebird 2.1 ругается на: Column does not belong to referenced table. Сам текст запроса: поля есть. Если поменять куски CHILDREN и PARENT_LIST местами, то будет ругаться на то, что нет PT.ID. В чем может быть проблема? MERGE INTO MO_DATAGROUP_LINK DGL USING ( WITH RECURSIVE CHILDREN AS ( SELECT 923 ID FROM RDB$DATABASE UNION ALL SELECT S.ID FROM SPRT S JOIN CHILDREN C ON C.ID = S.PARENTID ), PARENT_LIST AS ( SELECT PARENTID ID FROM SPRT WHERE ID = 923 UNION ALL SELECT PARENTID ID FROM SPRT T JOIN PARENT_LIST PT ON T.ID = PT.ID) SELECT ID FROM PARENT_LIST WHERE ID IS NOT NULL UNION ALL SELECT ID FROM CHILDREN ) PX ON DGL.DATAID = PX.ID AND DGL.DATAGROUPID = 896 AND DGL.TABLENAME = ‘XXXX’ WHEN NOT MATCHED THEN INSERT (DATAGROUPID, TABLENAME, DATAID) VALUES (:D_VALUE, ‘XXXX’, PX.ID); |
Romkin |
|
А где у тебя таблица C? |
spy_ |
|
Full Member Рейтинг (т): 5 |
Romkin, «JOIN CHILDREN C ON», не? |
Romkin |
|
Присоедини псевдоним ко всем полям, оно путается скорее всего |
spy_ |
|
Full Member Рейтинг (т): 5 |
Если присоединять сюда «SELECT S.ID FROM SPRT S JOIN CHILDREN C ON C.ID = S.PARENTID» по аналогии с выборкой PARENT_LIST, то толку никакого, к сожалению, та же ошибка. Кстати, если поменять местами блоки CHILDREN и PARENT_LIST как есть, то будет уже ругаться на выборку PARENT_LIST аналогично. |
Игорь Акопян |
|
простите, а это что без запятой пишется? SELECT PARENTID ID FROM |
spy_ |
|
Full Member Рейтинг (т): 5 |
Игорь Акопян, а почему оно должно писаться с запятой? Добавлено 23.10.12, 14:05 |
Alex2011 |
|
Member Рейтинг (т): 1 |
Думаю что проще(или даже НАДО) в хр.процедуре сделать,особенно если там рекурсия.(Разбираться с твоим запросом лень) Я когда-то писал хр.процедуру (с запросом выходил большой гемор-я решил,что это невозможно сделать,хотя может и не так-не претендую на истину в последней инстанции),в которой определял верхнего парента,всех чайдлов,если не ошибаюсь.(давно было,но процедуру найти,думаю, можно) Похоже и тебе что-то аналогичное надо? Сообщение отредактировано: Alex2011 — 08.11.12, 10:14 |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Базы данных: SQL
- Следующая тема
[ Script execution time: 0,0345 ] [ 15 queries used ] [ Generated: 9.02.23, 10:34 GMT ]
4 / 4 / 0 Регистрация: 23.08.2010 Сообщений: 103 |
|
1 |
|
30.06.2011, 12:42. Показов 8619. Ответов 4
Вот такую беду получаю: /*Column does not belong to referenced table. — [30.06.2011 12:23:24]————— Transaction ID (719)
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
30.06.2011, 12:42 |
Ответы с готовыми решениями: Ошибка «Column does not belong to referenced table». при добавлении триггера (Firebird/ibexpert) Ошибка «There is no unique constraint matching given keys for referenced table»
Multi select from same table and column 4 |
912 / 877 / 62 Регистрация: 06.01.2010 Сообщений: 2,367 Записей в блоге: 6 |
|
30.06.2011, 13:59 |
2 |
Выгрузите DDL таблицы в скрипт с помощью своего инструмента и убедитесь, что колонка имеет другое имя. Если оно взято в кавычки, то и вам придется делать тоже самое.
0 |
4 / 4 / 0 Регистрация: 23.08.2010 Сообщений: 103 |
|
30.06.2011, 14:20 [ТС] |
3 |
Выгрузите DDL таблицы в скрипт с помощью своего инструмента и убедитесь, что колонка имеет другое имя. Если оно взято в кавычки, то и вам придется делать тоже самое. Абсолютно правы. Можно ещё убрать проблему при смене типа колонки с VARCHAR на BLOB.
0 |
912 / 877 / 62 Регистрация: 06.01.2010 Сообщений: 2,367 Записей в блоге: 6 |
|
01.07.2011, 07:27 |
4 |
Это контр-решение (антипаттерн).
0 |
4 / 4 / 0 Регистрация: 23.08.2010 Сообщений: 103 |
|
01.07.2011, 13:11 [ТС] |
5 |
Это контр-решение (антипаттерн). А VARCHAR нельзя преобразовать в BLOB у существующего столбца. Получается:
0 |
I updated today. jan 23.
It refuses to open the database at all in version 4.
In version 3, when I got the message on startup no database was displayed.
I would then exit out and start the program from quick start icon in the tray.
Again I got the same message but this time my database was open.
I could add to it but could not export it. It does save any changes on exit though.
Now I cannot access the current database.
here are the two messages.
WHEN I FIRST START THE PROGRAM:
There was an error during the execution of this program.
The application might become unstable and even useless.
It’s recommended that you save your work and close this application.
Dynamic SQL Error
SQL error code = -206
Column unknown
OLD.USEGLOBALFOLDERS
Exception log with detailed tech info. Generated on 01/23/2011 1:53 PM.
You may send it to the application vendor, helping him to understand what had happened.
Application title: EssentialPIM
Application file: C:Program Files (x86)EssentialPIMEssentialPIM.exe
Application: EssentialPIM 4.01
——————————————————————————
Exception class: EIBInterBaseError
Exception message: Dynamic SQL Error
SQL error code = -206
Column unknown
OLD.USEGLOBALFOLDERS
At line 5, column 10.
Exception address: 004CEEB3
——————————————————————————
Main thread ID = 2756
Exception thread ID = 2756
——————————————————————————
Active Controls:
1927376 ExceptionDialog TextMemo
——————————————————————————
Exception stack
Stack list, generated 01/23/2011 1:53 PM
[004CEEAE]{EssentialPIM.exe} IB.IBDataBaseError (Line 411, «IB.pas» + 38)
——————————————————————————
Call stack for main thread
Stack list, generated 01/23/2011 1:53 PM
(0004945E){ntdll.dll } [7795A45E]
——————————————————————————
System : Windows Vista Home Edition, Version: 6.0, Build: 1772, «Service Pack 2»
Memory: 4095; free 4095
Display : 1024×768 pixels, 32 bpp
——————————————————————————
NOW AFTER I EXIT AND TRY TO START WITH THE QUICK START ICONIN THE TRAY
There was an error during the execution of this program.
The application might become unstable and even useless.
It’s recommended that you save your work and close this application.
unsuccessful metadata update
STORE RDB$RELATION_FIELDS failed
attempt to store duplicate value (visible to active transactions) in unique index «RDB$INDEX_15».
Exception log with detailed tech info. Generated on 01/23/2011 1:54 PM.
You may send it to the application vendor, helping him to understand what had happened.
Application title: EssentialPIM
Application file: C:Program Files (x86)EssentialPIMEssentialPIM.exe
Application: EssentialPIM 4.01
——————————————————————————
Exception class: EIBInterBaseError
Exception message: unsuccessful metadata update
STORE RDB$RELATION_FIELDS failed
attempt to store duplicate value (visible to active transactions) in unique index «RDB$INDEX_15».
Exception address: 004CEEB3
——————————————————————————
Main thread ID = 2756
Exception thread ID = 2756
——————————————————————————
Active Controls:
1977843 ExceptionDialog TextMemo
1964083 MainForm
1954957 ExceptionDialog DetailsMemo
1945831 ExceptionDialog TextMemo
1936705 ExceptionDialog DetailsBtn
1927407 ExceptionDialog OkBtn
1927376 ExceptionDialog TextMemo
——————————————————————————
Exception stack
Stack list, generated 01/23/2011 1:54 PM
[004CEEAE]{EssentialPIM.exe} IB.IBDataBaseError (Line 411, «IB.pas» + 38)
——————————————————————————
Call stack for main thread
Stack list, generated 01/23/2011 1:54 PM
(0004945E){ntdll.dll } [7795A45E]
——————————————————————————
System : Windows Vista Home Edition, Version: 6.0, Build: 1772, «Service Pack 2»
Memory: 4095; free 4095
Display : 1024×768 pixels, 32 bpp
——————————————————————————
PrevExceptions:
1963522 Dynamic SQL Error
SQL error code = -206
Column unknown
OLD.USEGLOBALFOLDERS
At line 5, column 10
Thanks for any help you can give