|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
Передаю подготовленный SQl запрос через командную строку таким образом dbisql.exe -c "user:user_name; password:password" -codepage 1251 script.sql >> log.txt В файл пишется только первые 500 строк, как вывести все строки, реально их где-то до 2000000. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 14:46 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
Запустить dbisql. В главном меню dbisql найти Options В диалоге найти ограничение на количество строк и снять его. Нажать Ok Закрыть dbisql ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 18:45 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
Не ужели все так просто.на работе попробую, дома на БД ни СУБД нет. по результату отпишусь. P.S. а может есть какая консольная альтернатива где в параметрах можно указать путь к выгружаемому файлу? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 20:07 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
В стандартной поставке ASA - нет. А зачем? Выгрузка запроса в CSV файл делается за пять минут на любом языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 21:14 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
Я сегодня добрый: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 21:20 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
Если задача не одноразовая, а так же будет требоваться выгрузка с базы в разные форматы по запросу или расписанию, IMHO тогда имеет смысл немного освоить Talend Open Studio, мощный Open Source ETL, позволяющий рисовать трансформацию данных на ура, классная штука. Плюсом еще можно назвать то, что он нарисованные джобы выгружает как Java программы или сервисы, которые можно запускать с ярлыка, вставить вызов в шедулер или же добавить на сервак приложений. Вообще рекомендую познакомится, сейчас у меня вообще вопросов не возникает если надо что то с данными сделать, с того же в IQ в Вертику перекинуть посредством зазипованных текстовиков, да еще через ФТП, зная Таленд, дело 10 минут рисования нужных процессов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 22:30 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
ASCRUSЕсли задача не одноразовая, а так же будет требоваться выгрузка с базы в разные форматы по запросу или расписанию, IMHO тогда имеет смысл немного освоить Talend Open Studio, мощный Open Source ETL, позволяющий рисовать трансформацию данных на ура, классная штука. Плюсом еще можно назвать то, что он нарисованные джобы выгружает как Java программы или сервисы, которые можно запускать с ярлыка, вставить вызов в шедулер или же добавить на сервак приложений. Вообще рекомендую познакомится, сейчас у меня вообще вопросов не возникает если надо что то с данными сделать, с того же в IQ в Вертику перекинуть посредством зазипованных текстовиков, да еще через ФТП, зная Таленд, дело 10 минут рисования нужных процессов.Судя по скриншотам - почти полная копия BO Data Services Designer. Можно попробовать, но... Еще одна мыше-махательная система? И чем людям не нравится взять Перл и за те-же десять минут решить эти все задачи при помощи одной клавиатуры? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 22:44 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
White OwlASCRUSЕсли задача не одноразовая, а так же будет требоваться выгрузка с базы в разные форматы по запросу или расписанию, IMHO тогда имеет смысл немного освоить Talend Open Studio, мощный Open Source ETL, позволяющий рисовать трансформацию данных на ура, классная штука. Плюсом еще можно назвать то, что он нарисованные джобы выгружает как Java программы или сервисы, которые можно запускать с ярлыка, вставить вызов в шедулер или же добавить на сервак приложений. Вообще рекомендую познакомится, сейчас у меня вообще вопросов не возникает если надо что то с данными сделать, с того же в IQ в Вертику перекинуть посредством зазипованных текстовиков, да еще через ФТП, зная Таленд, дело 10 минут рисования нужных процессов.Судя по скриншотам - почти полная копия BO Data Services Designer. Можно попробовать, но... Еще одна мыше-махательная система? И чем людям не нравится взять Перл и за те-же десять минут решить эти все задачи при помощи одной клавиатуры? Блин какие скриншоты? При чем тут перл? ... Если консольную альтернативу писать надо, чтож деваться некуда, вот только работы и без этого хватает. А выгружать надо 2 раза в месяц в текстовый файл, разделитель запятая. Хотел тупо батником такое сделать. Вопрос с отображением строк решил, покопался в настройках, только в файл всё это дело, порядка 300000 записей передает минут 20. 2 White Owl на VisualBasic наваял? Спасибо, экспорт в другие форматы не предвидися. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 08:54 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 12:13 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
[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 который позволял экспортировать результат в файл вот и решил что с его помощью можно решить данный вопрос с минимумом усилий. Коллеги помогите с решением данной проблемы. а то по мере предложения Вами решений я склоняюсь к тому что сделать это можно другим более рациональным способом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 17:26 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
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 для каждой отдельной выборки - теоретически можно, но слегка накладно. Выбирай на вкус. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 23:48 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
bv7, делайте через dbisql, самый простой и надежный вариант. И самое главное, то любой чел после вас легко сможет все подправить, ибо sql знают все а всякие вб-скрипты и тем более экзотические ETL - нет. Теперь о выгрузке, 20минут на 30к записей как-то много. И не думаю, что проблема в самом dbisql, может запрос тормозит сам по себе? В любом случае, стоит попробовать следующее: -вместо dbisqlj попробовать dbisqlc -выгружать данные не через >> log.txt, а используюя в sql директиву output Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2011, 10:52 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
Ggg_oldbv7, делайте через dbisql, самый простой и надежный вариант. И самое главное, то любой чел после вас легко сможет все подправить, ибо sql знают все а всякие вб-скрипты и тем более экзотические ETL - нет. Теперь о выгрузке, 20минут на 30к записей как-то много. И не думаю, что проблема в самом dbisql, может запрос тормозит сам по себе? В любом случае, стоит попробовать следующее: -вместо dbisqlj попробовать dbisqlc -выгружать данные не через >> log.txt, а используюя в sql директиву output Код: sql 1. 2. 3.
Когда делаю перенаправление в файл, в самой первой строке пишет сколько запрос обрабатывается, так вот сервер запрос обрабатывает примерно за 3 секунды, в запросе объединяются 3 таблицы inner join`ом и вроде еще условие прикручено. Даже если руками результат запроса выгружать в файл, все равно тратится столько же времени. И еще не 30к записей а 300к за 20 минут. Так что с запросом проблем нет :) Если я правильно понял, то секцию OUTPUT TO 'c:\dir\subdir\employees.txt' дописать в конце своего запроса и он все это дело выгрузит в файл по указанному пути. P.S. Был на работе сегодня забыл посмотреть текст запроса, по памяти не вспомню. В понедельник выложу текст. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2011, 19:56 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
White Owl, Физический доступ к серверу есть. Выгружать такое количество строк, по другому меньше не получается. Это выгрузка по проходам сотрудников ~5000 чел через турникеты КПП - 7 штук, временной интервал - 15 и 30(31) день. А передвигаются между разными КПП, из одного выходят в другое заходят, в общем сильное движение получается как следствие большое количество записей. Вариант 2 на мой взгляд самый интересный, вот только прокатит ли подстановка вида 'дата-%-год' ('дата-*-год') в условии выбора. А то придется придумать условие смены месяца в ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2011, 20:08 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
White Owl3) Либо коммерческой ETL как предложил ASCRUS. ... Вариант 3 самый простой для человека любящего мышей и не умеющего писать программы. Я предложил как раз бесплатный вариант, который не уступает по мощам и функционалу коммерческим аналогам. Ну а насчет не умеющего писать программу я с тобой не согласен. К сожалению в Таленде надо немного знать основы Джавы, как минимум чтобы понимать, как правильно вызывать функции и приводить типы. Плюс ты там сам можешь писать свой код в процессах или рисовать свои компоненты. Я бы это назвал это IDE ETL, а не рисовалку мышкой, разница огромна. Ты же не можешь назвать PowerBuilder рисовалкой мышкой только из за того, что его DW рисуются визуально мышкой ? ;) Вот здесь тоже самое. Перл кстати тоже вроде в Таленде поддерживается, я правда не знаток Перла, мне ближе Джава. Я бы посоветовал рассматривать ETL в тех случаях, когда: 1. Не хочется париться с форматами данных, зависеть от прихотей работы драйверов, кодировок и прочего 2. Не хочется напрягать нагрузкой рабочий сервер проверками и обработкой данных 3. Не хочется использовать зоопарк решений для организации потоков данных между источниками (перлы, утилиты, батники, ...) 4. Хочется контролировать все что происходит с движением и преобразованием данных 5. Кол-во источников данных так велико, что замаешься на каждый чих простыни скриптов писать, а потом их сопровождать P.S. Из коммерческих аналогов ETL мне еще понравился iWay DataMigrator, по легкости освоения, нулевому администрированию, масштабированию и оптимизации запросов к гетерогенным источникам, а так же мощному интерфейсу, ну прям ASA, принципы один в один. Вот жалко стоит не как ASA :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2011, 20:09 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
Вот кстати не поленился, нарисовал с демо базой АСА показать. Задача: выгрузить продажи с атрибутами клиентов в текстовый файлы с разделителем с сортировкой по ИД, нарезав по 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 мин, попивая чаек и работая мышкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2011, 21:17 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2011, 21:27 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
ASCRUSНу а насчет не умеющего писать программу я с тобой не согласен.Да, конечно, если умеешь писать, то и из ETL можно конфетку сделать. Но... У всех ETL заявляется и более-менее в реальности осуществляется низкий порог вхождения. Но низкий порог всегда выливается в серьезные ограничения в дальнейшем. ASCRUSТы же не можешь назвать PowerBuilder рисовалкой мышкой только из за того, что его DW рисуются визуально мышкой ? ;)Вот-вот. PB это как раз один из ярких примеров того о чем я говорю - у него легко нарисовать мышой data window, но как начинается серьезное gui - приходится извращаться. Там даже лайауты надо самому с нуля писать, а уж многоязычный интерфейс это вообще из разряда фантастики. Нет уж, вот InfoMaker - это хорошо, а PowerBuilder - нафиг-нафиг. ASCRUSЯ бы посоветовал рассматривать ETL в тех случаях, когда: 1. Не хочется париться с форматами данных, зависеть от прихотей работы драйверов, кодировок и прочего 2. Не хочется напрягать нагрузкой рабочий сервер проверками и обработкой данных 3. Не хочется использовать зоопарк решений для организации потоков данных между источниками (перлы, утилиты, батники, ...) 4. Хочется контролировать все что происходит с движением и преобразованием данных 5. Кол-во источников данных так велико, что замаешься на каждый чих простыни скриптов писать, а потом их сопровождать ээээ.... Ну насчет пункта 3 я может быть, со скрипом, с огоромным сомнением, скажу "мнээээ, ну наверное". Все остальное, и уж особенно пункты 4 и 5 к ETL точно отношения не имееют. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 00:05 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
bv7Выгружать такое количество строк, по другому меньше не получается. А ЗАЧЕМ ты это все выгружаешь? КУДА эти тысячи строк идут? ПОЧЕМУ ты не можешь обработать данные в самой базе? Почему их надо обязательно пересылать в какую-то другую базу? Если у тебя есть ДРУГАЯ база в которой уже делается осмысленная обработка этих тысяч строк, то почему-бы тебе не сделать нормальную репликацию данных? bv7в общем сильное движение получается как следствие большое количество записей.Да не важно сколько там записей. Если у тебя ASA9 стоит чисто как первичный накопитель данных, то а) либо она же должна и аналитику делать б) либо ставишь несколько отдельных, независимых ASA серверов на каждый КПП. Ставишь еще одну ASA (или что-нибудь) другое в главном офисе, поднимаешь репликацию на Mobilink и все проблемы исчезают. Выгрузка тридцати тысяч строк два раза в месяц - это неправильная организация потоков данных. bv7Вариант 2 на мой взгляд самый интересный, вот только прокатит ли подстановка вида 'дата-%-год' ('дата-*-год') в условии выбора. А то придется придумать условие смены месяца в ХП.Ты когда-нибудь о переменных слышал? А о функциях? Вот используя их - можно сделать все что угодно. Наймите себе толкового DBA в конце-концов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 00:15 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
bv7, isql помимо выполнения запросов имеет еще и дополнительный функционал связанный с импортом и экспортом данных. В частночи директива output именно и выгружает данные во внешний файл. Вы все поняли верно, добавляете в конец и оно выгружает. Посмотрите справку, там есть описание и параметризация. А вообще, 300к за 20минут это очень медленно! Скорее всего за 3сек получается первая строка с результатом, а потом при выкачке всего остального начинаются тормоза на базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 00:36 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
White OwlASCRUSНу а насчет не умеющего писать программу я с тобой не согласен.Да, конечно, если умеешь писать, то и из ETL можно конфетку сделать. Но... У всех ETL заявляется и более-менее в реальности осуществляется низкий порог вхождения. Но низкий порог всегда выливается в серьезные ограничения в дальнейшем. Извини, но или тебе плохой ETL попадался или ты плохо в нем разобрался. Других вариантов для меня нет. Чтобы не спорить, как бы хочу напомнить, что я пожизни являлся апогетом идеи, что все нужно делать на сервере БД, максимально используя его возможности. Вряд ли я стал уже настолько старенький, чтобы забыть свои принципы и советовать то, что было бы хуже или менее функционально, чем возможности ASA ? ;) White OwlASCRUSТы же не можешь назвать PowerBuilder рисовалкой мышкой только из за того, что его DW рисуются визуально мышкой ? ;)Вот-вот. PB это как раз один из ярких примеров того о чем я говорю - у него легко нарисовать мышой data window, но как начинается серьезное gui - приходится извращаться. Там даже лайауты надо самому с нуля писать, а уж многоязычный интерфейс это вообще из разряда фантастики. Нет уж, вот InfoMaker - это хорошо, а PowerBuilder - нафиг-нафиг. Извиняюсь за флуд, но из за ПБ утерпеть не могу, чтобы не сказать. Не так давно много проектов писал для Украины на PB, многоязычный интерфейс делается там на раз два, вообще без геммора. ООП здесь несомненно рулит. Проекты кстати были с поддержкой собственных метаданных, дотнет тихо отдыхал в сторонке на фоне PB. P.S. Огромное сорри автору топика за флуд. Готов в качестве компенсации, если будет желание, помочь базово разобраться с Талендом, чтобы нарисовать для сравнения с предлагаемыми решениями требуемый процесс. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 02:55 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
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,'";'); .... кажется так.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 22:18 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
ASCRUS, спасибо, что помощь предложил, а оффтоп интересный получился, зацепило, качну тайленд посмотреть что за чудо инженерной мысли такое. По выгрузке во внешний файл могу сказать только одно по другому не получится, сети в которых БД крутятся физически не соединяются и соединить их не дадут по соображениям безопасности. И потом я являюсь представителем службы безопасности предприятия, а данные запрашивают с отдела труда, для контроля сотрудников, кто как и сколько работал. Есть клиентское ПО которым рулит оператор и выгружает те же самые 300к строк, но руками. Запуск этого ПО из командной строки с указанием необходимых параметров просто отсутствует, собственно отсюда ноги и растут. Прикладываю файл структуры БД (БД.sql) и запрос которым получаю то что мне необходимо (protocol.sql) в zip архиве ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 07:03 |
|
Sybase ASA 9, ISQL и командная строка
|
|||
---|---|---|---|
#18+
bv7ASCRUS, спасибо, что помощь предложил, а оффтоп интересный получился, зацепило, качну тайленд посмотреть что за чудо инженерной мысли такое. Welcome :) Если будут вопросы, пиши на аську 221678177 или скайп ascrus, подскажу как быстрее разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 10:12 |
|
|
start [/forum/topic.php?fid=55&msg=37580965&tid=2010200]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 289ms |
0 / 0 |