powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASA 9, ISQL и командная строка
25 сообщений из 26, страница 1 из 2
Sybase ASA 9, ISQL и командная строка
    #37577684
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
Передаю подготовленный SQl запрос через командную строку таким образом
dbisql.exe -c "user:user_name; password:password" -codepage 1251 script.sql >> log.txt
В файл пишется только первые 500 строк, как вывести все строки, реально их где-то до 2000000.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37578480
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запустить dbisql.
В главном меню dbisql найти Options
В диалоге найти ограничение на количество строк и снять его.
Нажать Ok
Закрыть dbisql
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37578621
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
Не ужели все так просто.на работе попробую, дома на БД ни СУБД нет. по результату отпишусь.
P.S. а может есть какая консольная альтернатива где в параметрах можно указать путь к выгружаемому файлу?
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37578718
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В стандартной поставке ASA - нет.
А зачем? Выгрузка запроса в CSV файл делается за пять минут на любом языке.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37578727
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сегодня добрый:
Код: vbnet
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.
dim Connection_String, Script_File_Name, SQL_Statement, Output_File_Name
dim conn, rs, i, fso, fo, field_data

Script_File_Name = "script.sql"
Output_File_Name = "data.csv"
Connection_String = "DSN=MyDB;UID=user;PWD=password"

set fso = CreateObject("Scripting.FileSystemObject")
set fo = fso.OpenTextFile(Script_File_Name, 1)
SQL_Statement = fo.ReadAll
fo.Close
set fo = fso.CreateTextFile(Output_File_Name, True)
set conn = CreateObject("ADODB.Connection")

conn.Open Connection_String
conn.CommandTimeout = 0
set rs = conn.Execute(SQL_Statement)

' раскоментировать если нужна строка заголовков полей
'for i=0 to rs.Fields.Count-1
'	if i>0 then fo.Write ","
'	fo.Write rs.Fields(i).Name
'next
'fo.WriteLine

do while not rs.eof
	for i=0 to rs.Fields.Count-1
		if i>0 then fo.Write ","
		field_data = trim(""&rs(i))
		if instr(field_data, ",") then field_data = """" & field_data & """"
		fo.Write field_data
	next
	fo.WriteLine
	rs.MoveNext
loop

rs.Close
conn.Close
fo.Close
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37578801
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если задача не одноразовая, а так же будет требоваться выгрузка с базы в разные форматы по запросу или расписанию, IMHO тогда имеет смысл немного освоить Talend Open Studio, мощный Open Source ETL, позволяющий рисовать трансформацию данных на ура, классная штука. Плюсом еще можно назвать то, что он нарисованные джобы выгружает как Java программы или сервисы, которые можно запускать с ярлыка, вставить вызов в шедулер или же добавить на сервак приложений. Вообще рекомендую познакомится, сейчас у меня вообще вопросов не возникает если надо что то с данными сделать, с того же в IQ в Вертику перекинуть посредством зазипованных текстовиков, да еще через ФТП, зная Таленд, дело 10 минут рисования нужных процессов.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37578810
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSЕсли задача не одноразовая, а так же будет требоваться выгрузка с базы в разные форматы по запросу или расписанию, IMHO тогда имеет смысл немного освоить Talend Open Studio, мощный Open Source ETL, позволяющий рисовать трансформацию данных на ура, классная штука. Плюсом еще можно назвать то, что он нарисованные джобы выгружает как Java программы или сервисы, которые можно запускать с ярлыка, вставить вызов в шедулер или же добавить на сервак приложений. Вообще рекомендую познакомится, сейчас у меня вообще вопросов не возникает если надо что то с данными сделать, с того же в IQ в Вертику перекинуть посредством зазипованных текстовиков, да еще через ФТП, зная Таленд, дело 10 минут рисования нужных процессов.Судя по скриншотам - почти полная копия BO Data Services Designer. Можно попробовать, но...
Еще одна мыше-махательная система? И чем людям не нравится взять Перл и за те-же десять минут решить эти все задачи при помощи одной клавиатуры?
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37579086
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
White OwlASCRUSЕсли задача не одноразовая, а так же будет требоваться выгрузка с базы в разные форматы по запросу или расписанию, IMHO тогда имеет смысл немного освоить Talend Open Studio, мощный Open Source ETL, позволяющий рисовать трансформацию данных на ура, классная штука. Плюсом еще можно назвать то, что он нарисованные джобы выгружает как Java программы или сервисы, которые можно запускать с ярлыка, вставить вызов в шедулер или же добавить на сервак приложений. Вообще рекомендую познакомится, сейчас у меня вообще вопросов не возникает если надо что то с данными сделать, с того же в IQ в Вертику перекинуть посредством зазипованных текстовиков, да еще через ФТП, зная Таленд, дело 10 минут рисования нужных процессов.Судя по скриншотам - почти полная копия BO Data Services Designer. Можно попробовать, но...
Еще одна мыше-махательная система? И чем людям не нравится взять Перл и за те-же десять минут решить эти все задачи при помощи одной клавиатуры?
Блин какие скриншоты? При чем тут перл? ... Если консольную альтернативу писать надо, чтож деваться некуда, вот только работы и без этого хватает. А выгружать надо 2 раза в месяц в текстовый файл, разделитель запятая. Хотел тупо батником такое сделать. Вопрос с отображением строк решил, покопался в настройках, только в файл всё это дело, порядка 300000 записей передает минут 20.

2 White Owl на VisualBasic наваял? Спасибо, экспорт в другие форматы не предвидися.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37579353
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bv7White Owlпропущено...
Судя по скриншотам - почти полная копия BO Data Services Designer. Можно попробовать, но...
Еще одна мыше-махательная система? И чем людям не нравится взять Перл и за те-же десять минут решить эти все задачи при помощи одной клавиатуры?
Блин какие скриншоты? При чем тут перл? ... Если консольную альтернативу писать надо, чтож деваться некуда, вот только работы и без этого хватает. А выгружать надо 2 раза в месяц в текстовый файл, разделитель запятая. Хотел тупо батником такое сделать. Вопрос с отображением строк решил, покопался в настройках, только в файл всё это дело, порядка 300000 записей передает минут 20.
2 White Owl на VisualBasic наваял? Спасибо, экспорт в другие форматы не предвидися.
Почитайте про output и unload, все можно сделать скриптом, запускаемым самым сервером, единственный нюанс, так это то, что пути должны быть относительно сервера и двойные слеши в путях...
Пример выгрузки в dbf приведен ниже

Create PROCEDURE "DBA"."procOutputToDBF"()
begin
declare s1 text;
declare s2 varchar(255);
declare s3 varchar(255);
declare NFile varchar(64);
set s3=string('\\\\Free-080129\\Db\\Valuta\\valuta.dbf');
set s1=string('-- Выгрузка данных --',"char"(10));
set NFile=string('C:\\ASADB\\Script\\ValDBFOut.sql');
call xp_write_file(NFile,s1);
/* считывеем файл скрипта */
set s1=xp_read_file(NFile);
set s1=string(s1,'SELECT pole1, pole2 from MyTable;');
set s1=string(s1,"char"(10));
call xp_write_file(NFile,s1);
set s1=xp_read_file(NFile);
set s1=string(s1,'Output to ',s3,' format foxpro;',"char"(10));
call xp_write_file(NFile,s1);
set s1=string('dbisqlc -q -c "eng=',@@servername,';DBn=',current database,';commlinks=tcpip;charset=cp1251;integrated=yes" ');
set s1=string(s1,NFile);
call xp_cmdshell(s1)
end
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37580270
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
[quot Sergey Orlov]bv7пропущено...
Create PROCEDURE "DBA"."procOutputToDBF"()
begin
declare s1 text;
declare s2 varchar(255);
declare s3 varchar(255);
declare NFile varchar(64);
set s3=string('\\\\Free-080129\\Db\\Valuta\\valuta.dbf');
set s1=string('-- Выгрузка данных --',"char"(10));
set NFile=string('C:\\ASADB\\Script\\ValDBFOut.sql');
call xp_write_file(NFile,s1);
/* считывеем файл скрипта */
set s1=xp_read_file(NFile);
set s1=string(s1,'SELECT pole1, pole2 from MyTable;');
set s1=string(s1,"char"(10));
call xp_write_file(NFile,s1);
set s1=xp_read_file(NFile);
set s1=string(s1,'Output to ',s3,' format foxpro;',"char"(10));
call xp_write_file(NFile,s1);
set s1=string('dbisqlc -q -c "eng=',@@servername,';DBn=',current database,';commlinks=tcpip;charset=cp1251;integrated=yes" ');
set s1=string(s1,NFile);
call xp_cmdshell(s1)
end
Это конечно хорошо процедуру наваять, вот только я думал написать батник который будет скармливать файл с кодом скрипта, а перед тем как его скормить в скрипте поменять условие выборки.
Выбираются записи значения поля даты в которых находится в определенном интервале. Я наверное велосипед изобретаю, но думал вызывать либо в батнике сразу считать временной интервал. с 01 по 15 число текущего месяца и с 01 по 30(31).
Пишу все это и понимаю, вопрос надо было поставить немного оп другому, а то как-то с середины получается решение задачи.
Обрисую ситуацию: необходимо 2 раза в месяц, в середине и в конце делать выборку из БД по проходу сотрудников через КПП. Хочется автоматизировать этот процесс посредством запуска ХП, bat файла или другим способом стартуя задания по расписанию в определенное время. Все это построено на СУБД ASA 9. Каким образом это лучше сделать? Я предложил решение запуском через bat`ник в котором жестко или динамически прописать интервалы выгрузки, так же можно передавать их через аргументы, а ля куда хочу, туда верчу, в этом случае можно делать выборку за любой промежуток времени. Так как SQL запросы писались и тестировались в ISQL который позволял экспортировать результат в файл вот и решил что с его помощью можно решить данный вопрос с минимумом усилий.
Коллеги помогите с решением данной проблемы. а то по мере предложения Вами решений я склоняюсь к тому что сделать это можно другим более рациональным способом.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37580801
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bv7Блин какие скриншоты? При чем тут перл? ... Ты не внимателен. ASCRUS предложил еще один вариант решения твоей задачи, а я всего-лишь сказал что предложенный им Taled очень похож на BOE Designer и высказал свою личную нелюбовь к подобным решениям.

bv72 White Owl на VisualBasic наваял? Спасибо, экспорт в другие форматы не предвидися.При чем здесь другие форматы? И нет, это не VisualBasic, это VBS - близкий родственник, но все-же другой язык.

И вообще, зачем выгружать тридцать тысяч записей? Если в выборке больше сотни записей - вы не правильно решаете задачу. Аксиома такая. Но это вопрос твоего начальства.

Но если действительно нужно делать именно выгрузку всех тысяч записей, то запросто:
1) Либо собственной внешней программой на любом ЯП (одну я уже показал).
2) Либо хранимой процедурой как предложил Sergey Orlov.
3) Либо коммерческой ETL как предложил ASCRUS.
4) Либо используя dbisql как ты уже сам догадался
5) Либо используя dbunload

Варианты 1, 2, 3, 4 позволяют делать свою логику выборки.
Вариант 5 самый быстрый, но только на таблицы.
Вариант 4 самый медленный
Вариант 3 самый простой для человека любящего мышей и не умеющего писать программы.
Вариант 2 самый надежный, но требует доступа к физическому серверу.
Вариант 1 самый простой для тех у кого есть только логин-пароль, но нету доступа к физическому серверу.

Править условие выборки для каждой отдельной выборки можно в вариантах 1, 2, 3 и 4. Проще всего это делать в вариантах 1 и 4. Править скрипт в вариантах 2 и 3 для каждой отдельной выборки - теоретически можно, но слегка накладно.

Выбирай на вкус.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37580965
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bv7, делайте через dbisql, самый простой и надежный вариант. И самое главное, то любой чел после вас легко сможет все подправить, ибо sql знают все а всякие вб-скрипты и тем более экзотические ETL - нет.
Теперь о выгрузке, 20минут на 30к записей как-то много. И не думаю, что проблема в самом dbisql, может запрос тормозит сам по себе? В любом случае, стоит попробовать следующее:
-вместо dbisqlj попробовать dbisqlc
-выгружать данные не через >> log.txt, а используюя в sql директиву output
Код: sql
1.
2.
3.
SELECT *
FROM Employees;
OUTPUT TO 'employees.txt';
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581283
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
Ggg_oldbv7, делайте через dbisql, самый простой и надежный вариант. И самое главное, то любой чел после вас легко сможет все подправить, ибо sql знают все а всякие вб-скрипты и тем более экзотические ETL - нет.
Теперь о выгрузке, 20минут на 30к записей как-то много. И не думаю, что проблема в самом dbisql, может запрос тормозит сам по себе? В любом случае, стоит попробовать следующее:
-вместо dbisqlj попробовать dbisqlc
-выгружать данные не через >> log.txt, а используюя в sql директиву output
Код: sql
1.
2.
3.
SELECT *
FROM Employees;
OUTPUT TO 'employees.txt';


Когда делаю перенаправление в файл, в самой первой строке пишет сколько запрос обрабатывается, так вот сервер запрос обрабатывает примерно за 3 секунды, в запросе объединяются 3 таблицы inner join`ом и вроде еще условие прикручено. Даже если руками результат запроса выгружать в файл, все равно тратится столько же времени. И еще не 30к записей а 300к за 20 минут. Так что с запросом проблем нет :)

Если я правильно понял, то секцию OUTPUT TO 'c:\dir\subdir\employees.txt' дописать в конце своего запроса и он все это дело выгрузит в файл по указанному пути.

P.S. Был на работе сегодня забыл посмотреть текст запроса, по памяти не вспомню. В понедельник выложу текст.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581291
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
White Owl,

Физический доступ к серверу есть.
Выгружать такое количество строк, по другому меньше не получается. Это выгрузка по проходам сотрудников ~5000 чел через турникеты КПП - 7 штук, временной интервал - 15 и 30(31) день. А передвигаются между разными КПП, из одного выходят в другое заходят, в общем сильное движение получается как следствие большое количество записей.
Вариант 2 на мой взгляд самый интересный, вот только прокатит ли подстановка вида 'дата-%-год' ('дата-*-год') в условии выбора. А то придется придумать условие смены месяца в ХП.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581292
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl3) Либо коммерческой ETL как предложил ASCRUS.
...
Вариант 3 самый простой для человека любящего мышей и не умеющего писать программы.
Я предложил как раз бесплатный вариант, который не уступает по мощам и функционалу коммерческим аналогам. Ну а насчет не умеющего писать программу я с тобой не согласен. К сожалению в Таленде надо немного знать основы Джавы, как минимум чтобы понимать, как правильно вызывать функции и приводить типы. Плюс ты там сам можешь писать свой код в процессах или рисовать свои компоненты. Я бы это назвал это IDE ETL, а не рисовалку мышкой, разница огромна. Ты же не можешь назвать PowerBuilder рисовалкой мышкой только из за того, что его DW рисуются визуально мышкой ? ;) Вот здесь тоже самое. Перл кстати тоже вроде в Таленде поддерживается, я правда не знаток Перла, мне ближе Джава.

Я бы посоветовал рассматривать ETL в тех случаях, когда:
1. Не хочется париться с форматами данных, зависеть от прихотей работы драйверов, кодировок и прочего
2. Не хочется напрягать нагрузкой рабочий сервер проверками и обработкой данных
3. Не хочется использовать зоопарк решений для организации потоков данных между источниками (перлы, утилиты, батники, ...)
4. Хочется контролировать все что происходит с движением и преобразованием данных
5. Кол-во источников данных так велико, что замаешься на каждый чих простыни скриптов писать, а потом их сопровождать

P.S. Из коммерческих аналогов ETL мне еще понравился iWay DataMigrator, по легкости освоения, нулевому администрированию, масштабированию и оптимизации запросов к гетерогенным источникам, а так же мощному интерфейсу, ну прям ASA, принципы один в один. Вот жалко стоит не как ASA :)
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581321
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот кстати не поленился, нарисовал с демо базой АСА показать.

Задача: выгрузить продажи с атрибутами клиентов в текстовый файлы с разделителем с сортировкой по ИД, нарезав по 20 тыс записей в файл и потом всех их перегрузить на ФТП. Для того, чтобы продемонстрировать скорость работы, сделал неправильное соединение sales и customers. Таблицы выкачиваются по отдельности, соединение и сортировка уже происходят на машине, где выполняется ETL.


Время выполнения всего джоба 2 сек. Работало на моей домашней машине, скажем так не самой сильной и современной. Выгружается далее этот job как папка с джава классами и bat/sh файлами запуска. Если на машине стоит JRE6, то больше ничего не нужно, чтобы я запустил в любой момент этот джоб с ярлыка или по шедулеру.

На выходе получилось 5 файлов:
17.12.2011 21:17 <DIR> .
17.12.2011 21:17 <DIR> ..
17.12.2011 21:06 2 369 841 demo_sale0.txt
17.12.2011 21:06 2 362 952 demo_sale1.txt
17.12.2011 21:06 2 363 962 demo_sale2.txt
17.12.2011 21:06 2 364 346 demo_sale3.txt
17.12.2011 21:06 194 848 demo_sale4.txt
5 файлов 9 655 949 байт

Все они попали на FTP. Можно конечно все это на Перле написать и т.д., но тут я затратил работы на 5 мин, попивая чаек и работая мышкой.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581331
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот кстати как выглядит рисование маппинга (соединения) таблиц:
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581432
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSНу а насчет не умеющего писать программу я с тобой не согласен.Да, конечно, если умеешь писать, то и из ETL можно конфетку сделать. Но...
У всех ETL заявляется и более-менее в реальности осуществляется низкий порог вхождения. Но низкий порог всегда выливается в серьезные ограничения в дальнейшем.

ASCRUSТы же не можешь назвать PowerBuilder рисовалкой мышкой только из за того, что его DW рисуются визуально мышкой ? ;)Вот-вот. PB это как раз один из ярких примеров того о чем я говорю - у него легко нарисовать мышой data window, но как начинается серьезное gui - приходится извращаться. Там даже лайауты надо самому с нуля писать, а уж многоязычный интерфейс это вообще из разряда фантастики. Нет уж, вот InfoMaker - это хорошо, а PowerBuilder - нафиг-нафиг.

ASCRUSЯ бы посоветовал рассматривать ETL в тех случаях, когда:
1. Не хочется париться с форматами данных, зависеть от прихотей работы драйверов, кодировок и прочего
2. Не хочется напрягать нагрузкой рабочий сервер проверками и обработкой данных
3. Не хочется использовать зоопарк решений для организации потоков данных между источниками (перлы, утилиты, батники, ...)
4. Хочется контролировать все что происходит с движением и преобразованием данных
5. Кол-во источников данных так велико, что замаешься на каждый чих простыни скриптов писать, а потом их сопровождать
ээээ.... Ну насчет пункта 3 я может быть, со скрипом, с огоромным сомнением, скажу "мнээээ, ну наверное". Все остальное, и уж особенно пункты 4 и 5 к ETL точно отношения не имееют.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581446
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bv7Выгружать такое количество строк, по другому меньше не получается.
А ЗАЧЕМ ты это все выгружаешь?
КУДА эти тысячи строк идут?
ПОЧЕМУ ты не можешь обработать данные в самой базе? Почему их надо обязательно пересылать в какую-то другую базу?
Если у тебя есть ДРУГАЯ база в которой уже делается осмысленная обработка этих тысяч строк, то почему-бы тебе не сделать нормальную репликацию данных?

bv7в общем сильное движение получается как следствие большое количество записей.Да не важно сколько там записей. Если у тебя ASA9 стоит чисто как первичный накопитель данных, то
а) либо она же должна и аналитику делать
б) либо ставишь несколько отдельных, независимых ASA серверов на каждый КПП. Ставишь еще одну ASA (или что-нибудь) другое в главном офисе, поднимаешь репликацию на Mobilink и все проблемы исчезают.
Выгрузка тридцати тысяч строк два раза в месяц - это неправильная организация потоков данных.

bv7Вариант 2 на мой взгляд самый интересный, вот только прокатит ли подстановка вида 'дата-%-год' ('дата-*-год') в условии выбора. А то придется придумать условие смены месяца в ХП.Ты когда-нибудь о переменных слышал? А о функциях? Вот используя их - можно сделать все что угодно. Наймите себе толкового DBA в конце-концов.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581455
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bv7, isql помимо выполнения запросов имеет еще и дополнительный функционал связанный с импортом и экспортом данных. В частночи директива output именно и выгружает данные во внешний файл. Вы все поняли верно, добавляете в конец и оно выгружает. Посмотрите справку, там есть описание и параметризация.
А вообще, 300к за 20минут это очень медленно! Скорее всего за 3сек получается первая строка с результатом, а потом при выкачке всего остального начинаются тормоза на базе.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37581507
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlASCRUSНу а насчет не умеющего писать программу я с тобой не согласен.Да, конечно, если умеешь писать, то и из ETL можно конфетку сделать. Но...
У всех ETL заявляется и более-менее в реальности осуществляется низкий порог вхождения. Но низкий порог всегда выливается в серьезные ограничения в дальнейшем.
Извини, но или тебе плохой ETL попадался или ты плохо в нем разобрался. Других вариантов для меня нет. Чтобы не спорить, как бы хочу напомнить, что я пожизни являлся апогетом идеи, что все нужно делать на сервере БД, максимально используя его возможности. Вряд ли я стал уже настолько старенький, чтобы забыть свои принципы и советовать то, что было бы хуже или менее функционально, чем возможности ASA ? ;)

White OwlASCRUSТы же не можешь назвать PowerBuilder рисовалкой мышкой только из за того, что его DW рисуются визуально мышкой ? ;)Вот-вот. PB это как раз один из ярких примеров того о чем я говорю - у него легко нарисовать мышой data window, но как начинается серьезное gui - приходится извращаться. Там даже лайауты надо самому с нуля писать, а уж многоязычный интерфейс это вообще из разряда фантастики. Нет уж, вот InfoMaker - это хорошо, а PowerBuilder - нафиг-нафиг.
Извиняюсь за флуд, но из за ПБ утерпеть не могу, чтобы не сказать. Не так давно много проектов писал для Украины на PB, многоязычный интерфейс делается там на раз два, вообще без геммора. ООП здесь несомненно рулит. Проекты кстати были с поддержкой собственных метаданных, дотнет тихо отдыхал в сторонке на фоне PB.

P.S. Огромное сорри автору топика за флуд. Готов в качестве компенсации, если будет желание, помочь базово разобраться с Талендом, чтобы нарисовать для сравнения с предлагаемыми решениями требуемый процесс.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37582140
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bv7White Owl,
Физический доступ к серверу есть.
Выгружать такое количество строк, по другому меньше не получается. Это выгрузка по проходам сотрудников ~5000 чел через турникеты КПП - 7 штук, временной интервал - 15 и 30(31) день. А передвигаются между разными КПП, из одного выходят в другое заходят, в общем сильное движение получается как следствие большое количество записей.
Вариант 2 на мой взгляд самый интересный, вот только прокатит ли подстановка вида 'дата-%-год' ('дата-*-год') в условии выбора. А то придется придумать условие смены месяца в ХП.
Почему не прокатит то, обычная ХП и кто тебе мешает модифицировать саму процедуру...

Create PROCEDURE "DBA"."procOutputToDBF"(date 1 date,date2 date)
....
set s1=string(s1,'SELECT pole1, pole2 from MyTable where mydate between "',date1,'" and "',date2,'";');
....
кажется так....
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37582338
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
ASCRUS,

спасибо, что помощь предложил, а оффтоп интересный получился, зацепило, качну тайленд посмотреть что за чудо инженерной мысли такое.

По выгрузке во внешний файл могу сказать только одно по другому не получится, сети в которых БД крутятся физически не соединяются и соединить их не дадут по соображениям безопасности. И потом я являюсь представителем службы безопасности предприятия, а данные запрашивают с отдела труда, для контроля сотрудников, кто как и сколько работал. Есть клиентское ПО которым рулит оператор и выгружает те же самые 300к строк, но руками. Запуск этого ПО из командной строки с указанием необходимых параметров просто отсутствует, собственно отсюда ноги и растут.
Прикладываю файл структуры БД (БД.sql) и запрос которым получаю то что мне необходимо (protocol.sql) в zip архиве
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37582501
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bv7ASCRUS,

спасибо, что помощь предложил, а оффтоп интересный получился, зацепило, качну тайленд посмотреть что за чудо инженерной мысли такое.
Welcome :) Если будут вопросы, пиши на аську 221678177 или скайп ascrus, подскажу как быстрее разобраться.
...
Рейтинг: 0 / 0
Sybase ASA 9, ISQL и командная строка
    #37584267
bv7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bv7
Гость
Спасибо всем участникам топика, в частности ASCRUS за предложенную помощь.
Тема закрыта.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASA 9, ISQL и командная строка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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