Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Запросы к нескольким базам / 10 сообщений из 10, страница 1 из 1
21.01.2004, 13:37
    #32383061
Akni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
Использую ASA 6.0.4

Вопрос такой: Можно ли в одной ХП (или внутри блока begin...end) обрабатывать запросы к разным БД, находящимся на разных серверах?

Пробовала такой вариант:
коннекчусь к одному серверу и подсоединяю другой как Linked Server:
Код: plaintext
1.
2.
CREATE SERVER asaLinked
CLASS 'ASAODBC'
USING 'archivdb'
.
Потом выполняю след. набор команд:

Код: plaintext
1.
2.
forward to asaLinked 
select * from MyTable
forward to

на что получаю след. сообщение об ошибке:

Java virtual mashine could not be started

Оба сервера были инсталлированы без поддержки Java.

Можно ли как-то обойти эту ситуацию?
...
Рейтинг: 0 / 0
21.01.2004, 14:34
    #32383191
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
Наверное надежнее всего сделать на удаленной БД хранимую процедуру, зарегистрировать ее в качестве удаленной на нужном сервере и просто вызывать.
...
Рейтинг: 0 / 0
22.01.2004, 12:17
    #32384428
Геша
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
сначала линкуешь сервер
потом линкуешь таблицы из этого сервера
и нормально к этим таблицам обращаешься как из запросов так и из процедур ..
...
Рейтинг: 0 / 0
22.01.2004, 12:43
    #32384488
Akni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
2 ASCRUS

создала удаленную процедуру. Дальше ситуация такая: под ASA6 процедура вообще не линкуется (ни через Central, ни через ISQL). Выдается все то же сообщение Java virtual machine could not be started

Точнее, при линковке процедуры из ISQL происходит след.:

Код: plaintext
1.
create procedure spMyRemote () 
at 'asaLinked.archiv.usr.spMyProc';

выполняется без ошибок, а при вызове
Код: plaintext
call usr.spMyProc

появляется сообщ. об ошибке.

При попытке линковки через Central ошибка появляется сразу при запуске Визарда, и список процедур удал. сервера абсолютно пустой.

В целях эксперимента прилинковала сервер ASA6 (с которого и требуется получить данные) к ASA9. Тут ситуация несколько веселее:
процедуры линкуются без проблем, но при попытке выполнить процедуру с параметром получаю ошибку
Expression has unsupported data type.

Причем процедура 100% рабочая, на удал. сервере отрабатывает без проблем.
Если заменить в теле процедуры все параметры стат. значениями, объявить ее без параметров, прилинковать заново и вызвать уже без параметров, то все работает.

Вопросы: 1. какое отношение имеет Java к поддержке удаленных серверов?
2. как выполнить процедуру с вход. параметрами?

2 Геша
все это очень хорошо и правильно, вот только дальше линковки сервера у меня дело не идет. Ситуация с таблицами точно такая же, как и с процедурами.
...
Рейтинг: 0 / 0
22.01.2004, 12:57
    #32384513
Akni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
P.S. в ASA9 таблицы от ASA6 линкуются и используются в запросах без проблем
...
Рейтинг: 0 / 0
22.01.2004, 13:22
    #32384571
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
А случаем само БД не было создано с флагом поддержки Java ? И кстати какие параметры используются в ХП ?
...
Рейтинг: 0 / 0
22.01.2004, 13:57
    #32384647
Akni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
авторА случаем само БД не было создано с флагом поддержки Java ?
какую БД Вы имеете в виду? Если ASA6, то обе БД, и та, которую линкую, и та, к которой линкуется, были созданы с опцией Java Off .
БД версии ASA9 была создана для тестовых целей конвертацией БД без Java из версии 6 в версию 9. Предлагалось ли при конвертации включить Java или нет и что я там выбрала, сейчас уже, честно говоря, не помню. Кстати, можно ли это проверить после создания БД?

авторИ кстати какие параметры используются в ХП ?
В ХП используется один входной параметр типа varchar(). В процедуре значение параметра сравнивается со значением поля, которое тоже имеет тип varchar().
Обобщенно процедура выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
create procedure usr.MyProc (in ClName varchar( 20 ))
begin
select ...
from ...
where ClientName = ClName
...
end

В общем-то, обычный селект, процедура тут абсолютно не нужна, но таблицы у меня к ASA6 тоже не линкуются
...
Рейтинг: 0 / 0
22.01.2004, 16:27
    #32384965
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
Посмотреть стоит ли Java в ASA можно из Sybase Central - щелкнуть на подключенной БД правой кнопкой, выбрать свойства - если на первой страничке в версии JDK ничего не написано, значит БД без поддержки Java.

Еще вопросик - а владелец таблиц и процедур DBA ?

Вообще то конечно не понятно, почему требуется Java. Если вопрос не решиться, я скоро буду с службой тех.поддержки встречаться, задам этот вопросик.
...
Рейтинг: 0 / 0
22.01.2004, 16:41
    #32384992
Akni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
Проверила, ASA9 тоже без поддержки Java. Но в этой версии все (ну или почти все, если не считать вызовов процедур с параметрами) работает.

Владелец таблиц и процедур не DBA, но я везде указывала полные имена объектов (в моих привед. выше запросах владелец таблиц обозначен как usr )

Служба тех. поддержки это конечно хорошо, но что-то я сомневаюсь, что они будут для такой устаревшей версии активный саппорт оказывать.
...
Рейтинг: 0 / 0
22.01.2004, 18:25
    #32385171
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы к нескольким базам
К сожалению я с ASA ранее 8-ой версии не работал и ничего сказать не могу :(

Могу еще порекомендовать попробовать выполнить ALTER DATABASE UPGRADE
JAVA OFF, можно выгрузить БД в скрипт и посмотреть в нем, нет ли где упоминаний о Java. Так же можно еще попытаться апгрейтить БД через утилиту dbupgrad с параметром -jr. Больше в голову мыслей не идет.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Запросы к нескольким базам / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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