Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как выполнить под АСА скрипт из командной строки? / 21 сообщений из 21, страница 1 из 1
19.10.2004, 17:08
    #32744912
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Вот например под Оракл можно было написать SQL-скрипт в виде файла и создать батник, который легко его запустит строкой:
sqlplus user/pwd@oraserver @c:\startme.sql

А как бы такое же сделать для АСА?? Написать SQL-скрипт и батник к нему, который его легко запустит?? Я так понимаю, что там должна бы быть работа с параметрами ком. строки для isql... Подскажите пож, страдают программеры! :)

Заранее благодарен, Вадим Романенко
...
Рейтинг: 0 / 0
19.10.2004, 17:24
    #32744966
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim RomanenkoА как бы такое же сделать для АСА?? Написать SQL-скрипт и батник к нему, который его легко запустит?? Я так понимаю, что там должна бы быть работа с параметрами ком. строки для isql...
Дык она там и есть... правда, я этим не пользуюсь, но вот такая штуковина должна работать:

dbisqlc -c "eng=myserver;dbn=mydb;uid=dba;pwd=sql" 1.sql

Ну там, как водится, доработаешь напильником по вкусу :). В 1.sql - скрипт.
...
Рейтинг: 0 / 0
19.10.2004, 17:38
    #32745005
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Все эт конечно хорошо и классно... Но вот есть такой дурацкий вопрос... А как определить, что мне подставлять в поле eng?
...
Рейтинг: 0 / 0
19.10.2004, 17:46
    #32745043
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
База стартуется как сервис на сервере ASCOE_SERVER с параметрами:
-gm 10 -n ascue -o "d:\asalog.log" "d:\ascue.db"

Ни так:
dbisqlc -d ";" -c "eng=ascoe_server;dbn=ascue;user=dba;pwd=sql"
ни так:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql"
не коннектится...

ПС: я просто пытался открыть isql с автоконнектом, потому имя скрипта не указывал...
ППС: ascoe_server - имя сервера в сети. Показалось, что в качестве eng нужно указывать именно его, т.к. при коннекте из JDBC использую только информацию про имя БД, виндовое имя сервера и номер порта
...
Рейтинг: 0 / 0
19.10.2004, 17:48
    #32745050
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim Romanenkoчто мне подставлять в поле eng?
Название твоего сервера. DBN - имя БД. Если в подробностях - советую вот такую главу BOL:

ASA Database Administration Guide
Connection and Communication Parameters
Connection parameters

ибо этих параметров там целая куча :).
...
Рейтинг: 0 / 0
19.10.2004, 17:54
    #32745063
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
То есть, по идее, на основе того, что я написал выше, должна работать такая строка:
dbisql -c "eng=ascoe_server;dbn=ascue;user=dba;pwd=sql"

Верно? Просто она не работает :( Говорит, invalid connection parameters.
подключиться через DSN на самом деле получилось... Но не хотелось бы закладываться на наличие прописанного ODBC Source...
...
Рейтинг: 0 / 0
19.10.2004, 17:59
    #32745077
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim RomanenkoБаза стартуется как сервис на сервере ASCOE_SERVER с параметрами:
-gm 10 -n ascue -o "d:\asalog.log" "d:\ascue.db"

Ни так:
dbisqlc -d ";" -c "eng=ascoe_server;dbn=ascue;user=dba;pwd=sql"
ни так:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql"
не коннектится...

ПС: я просто пытался открыть isql с автоконнектом, потому имя скрипта не указывал...
Ну я же говорил - доработать напильником :). Вот так у меня приконнектилось:

dbisql -c "commlinks=tcpip;eng=******;dbn=******;uid=******;pwd=******" 1.sql

В твоём случае будет

dbisql -c "commlinks=tcpip;eng=ascue;dbn=ascue;user=dba;pwd=sql" 1.sql

ППС: ascoe_server - имя сервера в сети. Показалось, что в качестве eng нужно указывать именно его, т.к. при коннекте из JDBC использую только информацию про имя БД, виндовое имя сервера и номер порта
Имя сервера в сети нигде и никогда не указывается при коннекте к ASA (очень удобно переносить БД с одной тачки на другую, не трогая клиентов вообще).
...
Рейтинг: 0 / 0
19.10.2004, 18:17
    #32745123
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Как мне кто-то как-то говорил, никогда не говори никогда ;)
try{
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
}catch(Exception e){
return null;
}
url = "jdbc:sybase:Tds:"+host+":"+(new Integer(port)).toString();
//conn = DriverManager.getConnection(url, user, pwd);
info = new Properties();
info.setProperty("user", user);
info.setProperty("password", pwd);
info.setProperty("CHARSET", props.getProperty("codepage", "cp866"));
conn = DriverManager.getConnection(url, info);
особо стоит выделить строку
url = "jdbc:sybase:Tds:"+host+":"+(new Integer(port)).toString();
а именно слово host, где и указывается имя сервера. Я так думаю, на случай, если в локальной сети есть несколько серверов с одинаковым именем.

ПС: Та строка, что ты написал, все равно не работает :( Будем ковырять дальше :(
...
Рейтинг: 0 / 0
19.10.2004, 18:43
    #32745196
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
ПС: Та строка, что ты написал, все равно не работает :( Будем ковырять дальше :(
Тут я пас, ибо вот это

dbisql -c "commlinks=tcpip;eng=******;dbn=******;uid=******;pwd=******" 1.sql

было проверено на реальном сервере, только вместо звёздочек стояли реальные настройки.
...
Рейтинг: 0 / 0
19.10.2004, 18:54
    #32745226
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Странно. Почему ж у меня не работает?? Ну ладно. Будем коннектиться по ODBC Source!
Вот так работает у меня:
dbisql.exe -c "DSN=asue.loe1;uid=dba;pwd=sql"
...
Рейтинг: 0 / 0
19.10.2004, 18:57
    #32745233
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim RomanenkoСтранно. Почему ж у меня не работает?? Ну ладно. Будем коннектиться по ODBC Source!
Вот так работает у меня:
dbisql.exe -c "DSN=asue.loe1;uid=dba;pwd=sql"
Теперь можно смотреть настройки DSN и перетаскивать их в командную строку :).
...
Рейтинг: 0 / 0
19.10.2004, 19:07
    #32745252
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim RomanenkoБаза стартуется как сервис на сервере ASCOE_SERVER с параметрами:
-gm 10 -n ascue -o "d:\asalog.log" "d:\ascue.db"
вот имя в параметре -n это и есть имя сервера. Виндовое имя твоего компьютера к делу совсем не относится.


Vadim RomanenkoНи так:
dbisqlc -d ";" -c "eng=ascoe_server;dbn=ascue;user=dba;pwd=sql"
И не должно. Имя сервера - ascoe. А ascoe_server это имя хоста на котором находится твой сервер БД.

Vadim Romanenkoни так:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql"
не коннектится...
А вот так заработает, если ты еще добавишь туда команду "включить TCPIP" для поиска сервера в сети, а не только внутри твоей клиентской машины через shared memory. Исправь строку коннекта на:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;links=tcpip"
и все оживет.
Если клиентские машины и сервер находятся внутри LAN этого будет достаточно. Если между ними какой-либо маршрутизатор есть, то вот тогда может пригодится имя компьюетра в сети:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;links=tcpip(host=ascue_server)"

Vadim RomanenkoПС: я просто пытался открыть isql с автоконнектом, потому имя скрипта не указывал...
Если не указано имя скрипта или не дана SQL команда откртым текстом, то dbisql просто запустится в GUI режиме.

Vadim RomanenkoППС: ascoe_server - имя сервера в сети. Показалось, что в качестве eng нужно указывать именно его, т.к. при коннекте из JDBC использую только информацию про имя БД, виндовое имя сервера и номер порта
Номер порта указывать не обязательно. Он нужен только в том случае если у вас в сети стоят файрволы либо клиенту запрещено слать широковещательные пакеты а сервер при этом запущен на нестандартном порту.
...
Рейтинг: 0 / 0
20.10.2004, 11:32
    #32745986
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
White Owl
А вот так заработает, если ты еще добавишь туда команду "включить TCPIP" для поиска сервера в сети, а не только внутри твоей клиентской машины через shared memory. Исправь строку коннекта на:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;links=tcpip"
и все оживет.
Если клиентские машины и сервер находятся внутри LAN этого будет достаточно. Если между ними какой-либо маршрутизатор есть, то вот тогда может пригодится имя компьюетра в сети:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;links=tcpip(host=ascue_server)"


Враки :( Все равно не пашет, скАтина :(
Даже так не заработало:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;commlinks=tcpip(host=192.168.0.38)"
ни так:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;commlinks=tcpip(host=ascoe_server)"

Причем все пингуется, из приложения на Жабе коннектится...

Ошибка все время такая: Error at line 1 Invalid connection parameters

При коннекте из dbisql вручную заполняю такие поля:
1-я закладка:
UserID: dba
Password: sql
2-я закладка
Server name: ascue
3-я закладка:
TCP-IP: просто галка стоит
и все намана коннектится...

АААА!!! Ну в чем же дело???
...
Рейтинг: 0 / 0
20.10.2004, 14:17
    #32746432
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim RomanenkoВраки :( Все равно не пашет, скАтина :(
Даже так не заработало:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;commlinks=tcpip(host=192.168.0.38)"
ни так:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;commlinks=tcpip(host=ascoe_server)"

Причем все пингуется, из приложения на Жабе коннектится...

Ошибка все время такая: Error at line 1 Invalid connection parameters

Какая версия dbisql? Попробую найти и проверить на ней.
...
Рейтинг: 0 / 0
20.10.2004, 17:44
    #32747055
L0cat0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Dim2000 Vadim RomanenkoВраки :( Все равно не пашет, скАтина :(
Даже так не заработало:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;commlinks=tcpip(host=192.168.0.38)"
ни так:
dbisql -c "eng=ascue;dbn=ascue;user=dba;pwd=sql;commlinks=tcpip(host=ascoe_server)"

Причем все пингуется, из приложения на Жабе коннектится...

Ошибка все время такая: Error at line 1 Invalid connection parameters

Какая версия dbisql? Попробую найти и проверить на ней.

Сервер случайно не на 5.5 поднят ?
...
Рейтинг: 0 / 0
20.10.2004, 17:44
    #32747059
Их есть у меня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Ув. господин Vadim Romanenko, не знаю, какая у Вас версия ASA,
но у меня вот 7 и я так запускаю

Код: plaintext
1.
dbisqlc -c "eng=billtest;uid=dba;pwd=sql;links=tcpip(host=127.0.0.1)" myquery.sql

Обратите внимание, что я использую dbisqlc,
ибо она пошустрее будет.
И кроме того uid=dba, а не user=dba

Удачи!
...
Рейтинг: 0 / 0
20.10.2004, 18:52
    #32747229
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Их есть у меняИ кроме того uid=dba, а не user=dba
Ого, какую я плюху пропустил! :)
...
Рейтинг: 0 / 0
20.10.2004, 19:11
    #32747269
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
White Owl Их есть у меняИ кроме того uid=dba, а не user=dba
Ого, какую я плюху пропустил! :)
Это не плюха - dbisql (по крайней мере, от ASA9) понимает и UID, и USER. А какая версия у тов. Вадима Романенко - до сих пор тайна, покрытая мраком .
...
Рейтинг: 0 / 0
20.10.2004, 20:11
    #32747321
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim Romanenko
При коннекте из dbisql вручную заполняю такие поля:
1-я закладка:
UserID: dba
Password: sql
2-я закладка
Server name: ascue
3-я закладка:
TCP-IP: просто галка стоит
и все намана коннектится...
Пробуй вот это:
dbisql -c "eng=ascue;dbn=ascue;uid=dba;pwd=sql;links=tcpip"
...
Рейтинг: 0 / 0
21.10.2004, 16:32
    #32748833
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
УРРРА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Заработало!!!!!!!!!!!!!!
Вот так заработало:
dbisql -c "eng=ascue;dbn=ascue;uid=dba;pwd=sql;links=tcpip(host=ascue_server)"

ПС: Звиняйте, но вчера в то время, когда тут куча народу наоставляла комментов, я уж дома был :( Версия АСА - 6, но стоит 2 клиента - 5.5 и 6. В хелпе действительно написано, что нужно указывать uid :( Тоже не заметил, точнее, даже не смотрел в ту сторону :(

Вобзщем, балшое всем СПАСИБО!!! А то я уж начал думать, что прийдется вот так вот возиться с ДСНами!! Это ж надо на каждом компе бы пришлось еще настраивать :( А так - все СУПЕР!!

ППС: А вот вопрос был... Про сервер 5.5... А что - с ним какие-то проблемы могут быть??
...
Рейтинг: 0 / 0
21.10.2004, 17:21
    #32748974
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить под АСА скрипт из командной строки?
Vadim RomanenkoУРРРА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Заработало!!!!!!!!!!!!!!
Вот так заработало:
dbisql -c "eng=ascue;dbn=ascue;uid=dba;pwd=sql;links=tcpip(host=ascue_server)"
Мы плохого не посоветуем :).

ППС: А вот вопрос был... Про сервер 5.5... А что - с ним какие-то проблемы могут быть??
Между 5.5 и 6.0 у них изменился протокол обмена "клиент-сервер", поэтому софт типа ISQL невзаимозаменяем.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как выполнить под АСА скрипт из командной строки? / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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