powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / insert into .. location: data transfer from IQ to IQ servers
8 сообщений из 8, страница 1 из 1
insert into .. location: data transfer from IQ to IQ servers
    #36427533
msveta13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Как всегда, крик о помощи... :-)

Есть 2 IQ сервера 12.7: IQ1 и IQ2, оба записаны друг у друга в файле интерфейсов.
Правда, на них установлены разные Service Packs.

Пытаюсь использовать следуюший синтаксис на сервере IQ1:
% isql -S IQ2 ... -i <filename>

где <filename> содержит следующий sql:
insert INTO sa.t1 (trade_date_id, sedol) location 'IQ1.il-res-iq'
packetsize 51200 'select trade_date_id, sedol from sa.t1 where trade_date_id = 20090901'

А он выдает мне неожиданное сообщение об ошибке:
Msg 21, Level 14, State 0:
ASA Error -1003003: Adaptive Server Error: 102, Severity: 15, State: 0, Line:
0
Server Name: ---, Procedure Name: ---
Error Message: ASA Error -131: Syntax
error near 'use' on line 1.
-- (hqm_query.cxx 757)

Кстати, просто "isql -S IQ2 ..." работает прекрасно.
Что не так? Что нужно проверить?

Посоветуйте, пожалуйста.
Спасибо,
Света
...
Рейтинг: 0 / 0
insert into .. location: data transfer from IQ to IQ servers
    #36428136
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msveta13insert INTO sa.t1 (trade_date_id, sedol) location 'IQ1.il-res-iq'
packetsize 51200 'select trade_date_id, sedol from sa.t1 where trade_date_id = 20090901'
Попробуйте через фигурные скобочки:
Код: plaintext
1.
insert INTO sa.t1  (trade_date_id, sedol) location 'IQ1.il-res-iq' packetsize  51200 
  {select trade_date_id, sedol from sa.t1 where trade_date_id =  20090901 }
...
Рейтинг: 0 / 0
insert into .. location: data transfer from IQ to IQ servers
    #36428603
msveta13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASCRUS,

Спасибо, с этого я начала, но ODBC-connection based GUI не смог съесть фигурные скобки... Выдавал просто "Syntax error". Нашла в учебнике, что это известный факт, и надо заменить на кавычки.

Света
...
Рейтинг: 0 / 0
insert into .. location: data transfer from IQ to IQ servers
    #36428903
moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему вы использует OpenClient клиента isql а не родного dbisql ??

Вот так, без проблем зальется

dbisql -c "uid=DBA;pwd=SQL" -nogui insert INTO sa.t1 (trade_date_id, sedol) location 'IQ1.il-res-iq' packetsize 51200 {select trade_date_id, sedol from sa.t1 where trade_date_id = 20090901}; commit;

логин пароль - если отличны от DBA/SQL, то свои поставьте. И если надо пропишите eng и CommLinks
...
Рейтинг: 0 / 0
insert into .. location: data transfer from IQ to IQ servers
    #36429535
msveta13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый moris,

Во-первых, спасибо!
Я все команды запускаю в UNIX-e, on target comp.
Сначала dbisql ругался, что не понимает "commit", потом, что не видит "}"...
Убрала "commit", заменила опять скобки на кавычки, теперь получаю:

Could not connect to the database.
Database server not found
SQLCODE=-100, ODBC 3 State="08001"
You are not connected to a database.

Как я могу проверить, как dbisql коннектится к своей местной базе? Или это сообщение означает, что он не может присоединиться к той, которая указана в location?
P.S.Кстати, я никогда не использовала раньше dbisql, почитаю хелп и начну.
...
Рейтинг: 0 / 0
insert into .. location: data transfer from IQ to IQ servers
    #36429759
moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Could not connect to the database. Database server not found

Думаю, это относится к тому, что нет коннекта к "местной бд". Т.к. если бы был не было конекта к "location БД", то тогда бы ругался по другому, т.к. ругаются OpenClient типа
ct_connect(): directory service layer: internal directory control layer error: Requested server name not found.

На Unix-е желательно явно прописывать имя сервера (ENG) и CommLinks (HOST/PORT). Детальней см. документацию.

И вообще сначала в GUI версии DBISQL добейтесь того, чтобы insert..location работал, а потом уже пишите скрипт запуска с режимом nogui
...
Рейтинг: 0 / 0
insert into .. location: data transfer from IQ to IQ servers
    #36431262
msveta13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
moris,

У меня GUI DBISQL вообще не работает, видимо, какие-то конфигурации для Java не сделаны. Я обычно использую Windows gui tool: SqlDbx - warmly recommended!
Но и в нем я не могу справится с "insert... location...", хотя он прекрасно работает с обеими базами отдельно.

Впала в отчаяние :-(
Попробую альтернативные способы копирования: Load Table или Informatica...

Спасибо Вам за помощь!
Света
...
Рейтинг: 0 / 0
insert into .. location: data transfer from IQ to IQ servers
    #36431321
msveta13,

Для того, чтобы работал insert ... location ... {select} между IQ и IQ:
Нужно, чтобы в location 'il-res-iq.il-res-iq' указывалась в качестве имени сервера имя БАЗЫ.
Т.е. так как я написал, т.е. в интерфейсе нужно имя сервера прописать с точностью названия базы на IQ.

Т.е. в интерйесе у Вас должно стоять:

[il-res-iq]
master=...
query=...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / insert into .. location: data transfer from IQ to IQ servers
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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