Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Memo из dbf в varchar2 с помощью HS 
V
    Опции темы
tvik
Дата 6.3.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



Пожалуйста подскажите: как написать запрос, чтобы он выполнился без ошибки:
Код
select  "a1" from fond@dbl_vpf.tbd;

а1 - поле типа memo в dbf-таблице
dbl_vpf.tbd - линк, который "смотрит" на dbf файл. Настроен с помощью HS Oracle

Как получить данные из memo и положить их в поле varchar2  Oracle
PM MAIL   Вверх
LSD
Дата 6.3.2007, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Memo может иметь размер значительно больше чем varchar2, надо использовать blob или clob.

Запрос:
Код
select  * from fond@dbl_vpf.tbd

отрабатывает нормально?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
tvik
Дата 6.3.2007, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



1)Спасибо, я это знаю, но мне нужно это вставить в поле varchar2(можно и обрезать memo, но как???)
2) Запрос этот не работает, ошибка
ORA-28500...........this message: Statement too long
Как это обойте -не знаю smile 
PM MAIL   Вверх
DimW
Дата 6.3.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(tvik @  6.3.2007,  13:10 Найти цитируемый пост)
ORA-28500

гы - гы, подозрительный номер ошибки...
не сам ты случайно ее вызываешь?

Это сообщение отредактировал(а) DimW - 6.3.2007, 13:21
PM MAIL ICQ   Вверх
tvik
Дата 6.3.2007, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



и еще если написать такой select в курсоре процедуры, то
Oracle выдает ошибку: table does not exist
смена регистра и двойные кавычки не помогают  smile 
PM MAIL   Вверх
DimW
Дата 6.3.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



вобшем почему я обратил внимание на номер ошибки, потому что думал что ты ее сам рейзишь т.к. номер ошибки переваливает за 20000.
потом в гугле посмотрел ошибка с таким номером писутствует во многих линках в контексте dblink-ов.  точнее их не правельной организации.
так что не запрос виноват видимо, а dblink криво настроен...

Добавлено @ 13:37 
вот твои ошибки и скудные рекомендации по их устранению.
Цитата

ORA-28500: connection from ORACLE to a non-Oracle system returned this message: [Transparent gateway for ODBC][H001] The environment variable <HS_FDS_CONNECT_INFO> is not set.
ORA-02063: preceding 2 lines from HS
Cause: Incorrect parameter settings in the HS init.ora file.
Action: Set HS_FDS_CONNECT_INFO in the HS init.ora file to the data source name located in the odbc.ini file.
Example: HS_FDS_CONNECT_INFO = MS_SQLServer Wire Protocol Make sure the HS init.ora file exists in the $ORACLE_HOME/hs/admin directory and has the same name as the SID in the LISTENER.ORA.
Example: If SID=hsodbc in the listener.ora file, then the HS init.ora file would be named $ORACLE_HOME/hs/admin/inithsodbc.ora 

ORA-28500: connection from ORACLE to a non-Oracle system returned this message: [Transparent gateway for ODBC][H001] The environment variable <HS_FDS_SHAREABLE_NAME> is not set.
ORA-02063: preceding 2 lines from HS
Cause: Incorrect parameter settings in the HS init.ora file.
Action: Set HS_FDS_SHAREABLE_NAME to the full path plus filename to the libodbc.so file.
Example: HS_FDS_SHAREABLE_NAME=/opt/odbc/lib/libodbc.so 

ORA-28500: connection from ORACLE to a non-Oracle system returned this message: [Transparent gateway for ODBC]DRV_InitTdp:
(SQL State: 01000; SQL Code: 0)
ORA-02063: preceding 2 lines from HS
Cause: The HS agent cannot find the odbc.ini file.
Action: The ODBCINI variable is not set in the HS init.ora file and needs to be set.
Example: set ODBCINI=/opt/odbc/odbc.ini 


полный список ошибок oracle + odbc здесь

Это сообщение отредактировал(а) DimW - 6.3.2007, 13:38
PM MAIL ICQ   Вверх
tvik
Дата 6.3.2007, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



Но здесь сообщение 
The environment variable <HS_FDS_CONNECT_INFO> is not set.

а у меня 
 Statement too long

а запрос с типом number из этой же таблицы работает
PM MAIL   Вверх
DimW
Дата 6.3.2007, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



вот так попробуй:

Код

select  cast (a1 as varchar2(20))  
from fond@dbl_vpf.tbd;
 

вро ди как должно преобразовать...
по крайней мере у меня clob преобразовывается в varchar2(20), но не через dblink...
PM MAIL ICQ   Вверх
tvik
Дата 6.3.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет




Вот-вот link и не работает
к сожелению так уже пробовалось,но изменилась только ошибка

ORA-02070 - database dbl_vpf does not support in this context.
Используемые средства
пишу в plsql developer, Oracle 9, visual foxpro 5

Что-то особо ничего и в голову не приходит, что делать smile 
PM MAIL   Вверх
DimW
Дата 6.3.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



tvik, у тебя вобще cost работает в этом контексте? то есть если не через dblink, а в plsql developer к оракловой таблице обратиться таким селектом.
и версию оракла поточней укажи.

Это сообщение отредактировал(а) DimW - 6.3.2007, 15:23
PM MAIL ICQ   Вверх
tvik
Дата 7.3.2007, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



Oracle 9.2.0.1.0

В Developer-ой  табллице работает только с clob, а с long  в этой же таблице- нет!!!!!!!!!!!

Помогите!!! Что шлюз некорректно работает??? Или что!!!
PM MAIL   Вверх
tvik
Дата 7.3.2007, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



Подскажите пож., что делать???
Почему запрос, который работает в SQL-window и  Command-Window 
не работает внутри процедуры????
Error: Table does not exist

select  "fkod" from fond@dbl_vpf.tbd; smile(
PM MAIL   Вверх
DimW
Дата 7.3.2007, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(tvik @  7.3.2007,  08:15 Найти цитируемый пост)
Почему запрос, который работает в SQL-window и  Command-Window 
не работает внутри процедуры????

дело в том что sql и pl/sql это разные движки, которые разробатываются параллельно, но иногда pl/sql движок отстает от движка sql. возможно pl/sql не знает что обьект fond@dbl_vpf.tbd живет в дб линке.
думаю это легко вылечится так:
создай представление на основе своего селекта
Код

create or replace view dbl_vpf as
  select  "fkod" from fond@dbl_vpf.tbd
 
и в процедуре обращайся к представлению.



Это сообщение отредактировал(а) DimW - 7.3.2007, 09:19
PM MAIL ICQ   Вверх
tvik
Дата 7.3.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



Во-первых селект не работает с таблицами, в которых есть мемо поля
Во-вторых, например, dbf таблица содержит 2 мемо поля, я бы в первым селектом выбрала одино поле, вторым - второе, а
так 2 view создавить чтоли

А что ты можешь сказать насчет SQL*loader как он long обрабатывает???
Может мне им воспользоваться или как с лонгами быть???

PM MAIL   Вверх
LSD
Дата 7.3.2007, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(tvik @  7.3.2007,  08:15 Найти цитируемый пост)
Почему запрос, который работает в SQL-window и  Command-Window не работает внутри процедуры????

От имени какого пользователя выполняется процедура? Тот же самый которому принадлежит db link?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0773 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.