Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / isql под Линуксом, ASE 12.5 / 9 сообщений из 9, страница 1 из 1
12.03.2009, 22:05
    #35866009
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
Господа столкнулся с такой проблемой - если создать файл с SQL под виндой и потом скопировать его на линуксовый диск и из под линукса запустить isql -S server -U user -P password -i file то комманды в файле полностью игнорируются.

isql распознаёт содержимое файла только после его переконвертации в юниксовый формат dos2unix file

Такой вопрос, можно ли как-то заставить isql читать файлы созданные в Windows.

Время от времени запускается скрипт, который обновляет базу данных читая sql из скриптов, которые выкладываются на линуксовый диск.

Проверять каждый раз что все файлы были переконвертированный в юниксовый формат очень накладно, а сама утилита в этом случае просто молча игнорирует весь файл. В результате большая вероятность что что-то не будет обновлено.

Может быть кому-то знакома подобная проблема. Пожалуйста поделитесь опытом, как бы заставить isql читать виндовые файлы.

Заранее большое спасибо.
...
Рейтинг: 0 / 0
12.03.2009, 22:26
    #35866033
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
Kru пишет:

> Такой вопрос, можно ли как-то заставить isql читать файлы созданные в
> Windows.

Так а в чём проблема-то ? Это ж не катастрофа.
Ну запустите перекодировщик этот, или , ещё лучше, положите ваши
исходники в какой-нибудь VCS, они тогда сами на взятии оттуда будут
нужным образом преобразовываться.

> Может быть кому-то знакома подобная проблема. Пожалуйста поделитесь
> опытом, как бы заставить isql читать виндовые файлы.

Могу также рекомендовать попробовать альтернативные шелы.
Например, SQSH, очень хороший, он open source, и, если что,
вы сможете его просто тупо переправить на то, что вам надо.

А можно кстати и самому консольку написать, не так это и трудно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.03.2009, 22:31
    #35866039
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
Выбирай на вкус:
1) Смени процедуру копирования файлов с винды на линукс. Поставь на линукс ftp сервер, многие ftp клиенты при копировании файлов делают перекодировку автоматически.
2) Возьми текстовый редактор умеющий делать \n формат и поставь ему это формат по умолчанию.
3) Сделай скрипт который будет прогонять sql скрипт через dos2unix потом отдавать его в isql, назови этот скрипт тоже isql и положи его в какой-нибудь /bin который стоит в путях раньше чем $sybase/bin
...
Рейтинг: 0 / 0
12.03.2009, 22:34
    #35866044
Сергей08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
Тут проблема не в ISQL, а в том что текст в Windows и текст в юникс это разные вещи и само собой если isql запускается в юникс то и текст должен быть в юникс.
Windows текст с точки зрения юникс имеет как минимум один лишний символ в конце каждой строки.(перевод каретки или строки- путаюсь) Я с этим мучался.
Убирать этот символ или и скрипт извлекать сразу в юникс с помощью Isql под юникс
...
Рейтинг: 0 / 0
12.03.2009, 22:46
    #35866062
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
Сергей08 пишет:

> Тут проблема не в ISQL, а в том что текст в Windows и текст в юникс это
> разные вещи и само собой если isql запускается в юникс то и текст должен
> быть в юникс.

Да ерунды не надо говорить. Ну, разные соглашения. Но не более.
Очень многие программы понимают любой "формат" текстовых файлов
и отлично работают.

Кстати, надо проверить вообще, как у ISQL с SQSH с этим.
Я вообще не до конца верю, что всё так плохо..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.03.2009, 23:10
    #35866083
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
Всем большое спасибо за отклик.
Вопрос был по isql.
Судя по ответам она сама не может читать текстовые файлы созданные в другой ОС и ключей чтобы сделать её универсальной нет.
В общем нужна переконвертация... средства могут конечно быть разными.

Я пошёл простым путём - добавил в перловый скрипт 2 командочки - 1 копирует файл, 2 конвертирует копию (через dos2unix) ну и дальше отконвертированная копия уже обрабатывается isql. Это работает.

Копию делаю для того, что иногда dos2unix завершается аварийно и тогда беда - файл просто пропадает. Несколько раз так было...
...
Рейтинг: 0 / 0
13.03.2009, 11:11
    #35866815
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
Kru пишет:

> Господа столкнулся с такой проблемой - если создать файл с SQL под
> виндой и потом скопировать его на линуксовый диск и из под линукса
> запустить isql -S server -U user -P password -i file то комманды в файле
> полностью игнорируются.
>
> isql распознаёт содержимое файла только после его переконвертации в
> юниксовый формат dos2unix file
и как-то заставить isql читать файлы созданные в
> Windows.

Произвёл исследование, и вот результаты:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
ziv@bee-t61:~/tmp$ cat sql.sql
select 'Azaraza'
go
ziv@bee-t61:~/tmp$ unix2dos sql.sql
ziv@bee-t61:~/tmp$ isql -version
Sybase CTISQL Utility/15.0/P-EBF14165 ESD #7/DRV.15.0.3/Linux Intel/Linux 
2.4.21-47.0.1.ELsmp i686/BUILD1500-093/OPT/Wed Dec 13 21:49:08 2006

Confidential property of Sybase, Inc.
Copyright 1987, 2006
Sybase, Inc.  All rights reserved.
Unpublished rights reserved under U.S. copyright laws.

This software contains confidential and trade secret information of Sybase,
Inc.   Use,  duplication or disclosure of the software and documentation by
the  U.S.  Government  is  subject  to  restrictions set forth in a license
agreement  between  the  Government  and  Sybase,  Inc.  or  other  written
agreement  specifying  the  Government's rights to use the software and any
applicable FAR provisions, for example, FAR 52.227-19.
Sybase, Inc. One Sybase Drive, Dublin, CA 94568, USA

ziv@bee-t61:~/tmp$ isql -S roo -U sa -D POLYGON -P control -i sql.sql -o sql.out
ziv@bee-t61:~/tmp$ cat sql.out
<пусто>
ziv@bee-t61:~/tmp$ ls -l sql.*
-rw-r--r-- 1 ziv ziv  0 2009-03-13 11:00 sql.out
-rw-r--r-- 1 ziv ziv 20 2009-03-13 11:02 sql.sql
ziv@bee-t61:~/tmp$ dos2unix sql.sql
ziv@bee-t61:~/tmp$ isql -S roo -U sa -D POLYGON -P control -i sql.sql -o sql.out
ziv@bee-t61:~/tmp$ cat sql.out

  ---------------------
  Azaraza

(1 row affected)
ziv@bee-t61:~/tmp$ sqsh -Jutf8 -S roo -U sa -D POLYGON -P control -i sql.sql -o 
sql.out
Hi, Master Ziv !
ziv@bee-t61:~/tmp$ cat sql.out
|
|---------------------
|Azaraza

(1 row affected)
d)
ziv@bee-t61:~/tmp$ unix2dos sql.sql
ziv@bee-t61:~/tmp$ sqsh -Jutf8 -S roo -U sa -D POLYGON -P control -i sql.sql -o 
sql.out && cat sql.out
Hi, Master Ziv !
|
|---------------------
|Azaraza

(1 row affected)
d)
ziv@bee-t61:~/tmp$

Т.е. -- да, стандартный ISQL от Sybase НЕ ВЫПОЛНЯЕТ скрипт, оформленный
с Windows-овыми переводами строк.

SqSH (sqsh-2.1.4) нормально обрабатывает и тот, и другой формат скриптов.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
13.03.2009, 18:07
    #35868435
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
KruЯ пошёл простым путём - добавил в перловый скрипт 2 командочки - 1 копирует файл, 2 конвертирует копию (через dos2unix) ну и дальше отконвертированная копия уже обрабатывается isql. Это работает.Если уж взялся за перл, то нафига dos2unix и isql? :)
Не знаю как в Linux, а в AIX dos2unix это изначально микро-скрипт:
Код: plaintext
1.
#!/bin/perl -pi
s/\r\n/\n/;
Добавь к нему:
Код: plaintext
1.
2.
use Sybase::CTlib;
my $dbh = new Sybase::CTlib $login, $password, $server || die;
$dbh->ct_execute($sql_command);
и забудь про isql вообще :)
...
Рейтинг: 0 / 0
13.03.2009, 21:49
    #35868773
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
isql под Линуксом, ASE 12.5
авторВ общем нужна переконвертация...
Я пошёл простым путём...
Самый простой путь это сразу создавать и редактировать и хранить sql файлы в формате UNIX о чем уже говорилось. Большинство текстовых редакторов это умеют (даже под Виновз =))
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / isql под Линуксом, ASE 12.5 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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