powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Invalid column name ?
8 сообщений из 8, страница 1 из 1
Invalid column name ?
    #32478914
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ув. коллеги, может кто-то подскажет ? Строю удаленное представление для таблицы из базы Oracle через ODBC и при запуске запроса получаю сообщение: "Invalid column name". В чем причина ?
...
Рейтинг: 0 / 0
Invalid column name ?
    #32479023
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это надо понимать буквально.

Имя поля (столбца), использованное в Remote View не существует в базе данных Oracle.

Как правило, подобная ситуация возникает, если ты сначала создал Remote View, а потом изменил таблицу в базе Oracle. Но ведь в базе FoxPro в созданном Remote View осталось старое имя поля. Отсюда и конфликт.
...
Рейтинг: 0 / 0
Invalid column name ?
    #32479046
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем так. View создается первый раз и таблица в Oracle не менялась. Может ODBC не нравится длина имен полей или имя таблицы в формате LOGIN.TABLE_NAME ?
...
Рейтинг: 0 / 0
Invalid column name ?
    #32479070
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведи полный запрос. Может конфликт с какими-либо ключевыми словами вроде ORDER, GROUP и т.п.
...
Рейтинг: 0 / 0
Invalid column name ?
    #32479790
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот текст запроса, генерируемого view-дизайнером:

SELECT Arc_document.DOCUMENTDATE, Arc_document.BANKAID,;
Arc_document.ACCOUNTANO, Arc_document.BANKBID, Arc_document.ACCOUNTBNO,;
Arc_document.SUMMA;
FROM USER1.ARC_DOCUMENT Arc_document;
WHERE Arc_document.documentdate >= CTOD("01.03.2004");
AND Arc_document.documentdate <= CTOD("31.03.2004")

Запрос простейший. CTOD пробовал заменить на родную оракуловскую ф-ию TO_DATE - результат тот же: "Invalid column name".
...
Рейтинг: 0 / 0
Invalid column name ?
    #32479880
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Remote View - это инструкция, которая будет выполняться на сервере . В данном случае на Oracle. Естесственно, что Oracle просто не имеет такой функции как CTOD() и будет на нее ругаться.

Сделай параметризированный запрос, т.е. это будет примерно так:

SELECT
...
WHERE Arc_document.documentdate >= ?StartDate;
AND Arc_document.documentdate <= ?EndDate

Вопросительный знак говорит о том, что далее следует параметр. Некое значение, которое фомируется ВНЕ основного запроса. Чтобы не было конфликтов с типами данных опиши эти параметры в списке параметров (пункт главного меню Query, подпункт View Parameters)

Если на момент запуска запроса нужных переменных еще не существует, то FoxPro автоматически предложит ввести нужные значения. Программно, это будет выглядеть так:

LOCAL StartDate, EndDate
StartDate = {^2004.03.01}
EndDate = {^2004.03.31}
USE MyRemoteView

Можно в любой момент изменить значение параметров и выполнить перезапрос Requery("MyRemoteView")
...
Рейтинг: 0 / 0
Invalid column name ?
    #32480467
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To ВладимирМ

Огромное спасибо! Все получилось.
...
Рейтинг: 0 / 0
Invalid column name ?
    #32480471
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To ВладимирМ

Огромное спасибо! Все получилось.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Invalid column name ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]