tag:blogger.com,1999:blog-257947180566534388.post1610220963208856873..comments2023-06-10T15:42:28.808+03:00Comments on Практика использования Oracle Data Integrator (ODI): GetObjectName и другие способы обращения к таблице.Unknownnoreply@blogger.comBlogger7125tag:blogger.com,1999:blog-257947180566534388.post-19566062883617657162016-03-16T21:53:42.522+02:002016-03-16T21:53:42.522+02:00Я, к сожалению, не смог сейчас найти быстро пример...Я, к сожалению, не смог сейчас найти быстро пример, но в теории, это должно выглядеть как набор таблиц - datastore, которые преобразовываются при помощи интерфейсов. <br /><br />ODI имеет механизм загрузки xml файлов, при котором XSD отображается на логическую схему, конкретный файл на физическую схему ну и контекст переключает использование девелоперского файла на тестовый или файл продакшина.<br /><br />При этом также есть возможность использования встроенного SQL движка.<br />Вот тут подробнее<br />http://sonra.io/under-the-hood-of-the-sunopsis-memory-engine-part-1/<br />VShttps://www.blogger.com/profile/07139556860500772462noreply@blogger.comtag:blogger.com,1999:blog-257947180566534388.post-80570957461706687052016-03-15T08:35:20.047+02:002016-03-15T08:35:20.047+02:00Спасибо, что отвечаете. Не знаю в какой теме лучше...Спасибо, что отвечаете. Не знаю в какой теме лучше написать, поэтому рискну продолжить тут, хотя это и не относится к данной теме. Есть ли в ODI механизм преобразования одного комплексного файла в другой? У нас приходит файл примерно следующей структуры:<br />FH,<br />SB,xxx,yyy,zzz<br />SB,aaa,bbb,ccc<br />SF,<br />RF,zzz<br />RF,ccc<br />FF<br />Мы описали схему xsd, которая удачно разбирает этот файл, но затем нам надо собрать из распарсенных данных другой файл (для которого мы тоже описали схему xsd), представляющий из себя следующий вид и данные в котором после обработки должны встать следующим образом:<br />IH;<br />TR;мешанина;других;данных;zzz(взято из RF)<br />DR;xxx;yyy;zzz<br />TR;мешанина;других;данных;ccc(взято из RF)<br />DR;aaa;bbb;ccc<br />FT;<br />Надеюсь описал понятно, что мы хотим. Можно конечно написать процедуры на jython'e, но не дает покоя, что мы просто не можем правильно применить инструментарий ODI.<br /><br /><br />Anonymoushttps://www.blogger.com/profile/15841049760404855053noreply@blogger.comtag:blogger.com,1999:blog-257947180566534388.post-28634515584641912432016-03-14T16:19:33.075+02:002016-03-14T16:19:33.075+02:00Вот, тут есть начало обработки файлов в папке
http...Вот, тут есть начало обработки файлов в папке<br />http://odiexperts.com/getting-one-or-several-unknown-files-from-a-directory/VShttps://www.blogger.com/profile/07139556860500772462noreply@blogger.comtag:blogger.com,1999:blog-257947180566534388.post-83129058228840547102016-03-14T16:10:10.365+02:002016-03-14T16:10:10.365+02:00Вот так вот сходу - думаю, что никак.
Идеология EL...Вот так вот сходу - думаю, что никак.<br />Идеология ELT инструмента, которым является ODI предусматривает что непосредственно работу по преобразованиям выполняет движок БД.<br /><br />Так что варианты все же есть - только их применимость вызывает сомнения. Например, можно загрузить файл в таблицу, а уже оттуда прочитать в переменную.<br /><br />Другой вариант - в процедуре создать шаг с джавой и уже при помощи подпрограммы на этом языке загрузить в память файл и что-то сделать с ним.VShttps://www.blogger.com/profile/07139556860500772462noreply@blogger.comtag:blogger.com,1999:blog-257947180566534388.post-85490956269309347182016-03-10T08:24:30.433+02:002016-03-10T08:24:30.433+02:00А как в ODI считать в переменную весь текстовый фа...А как в ODI считать в переменную весь текстовый файл?Anonymoushttps://www.blogger.com/profile/15841049760404855053noreply@blogger.comtag:blogger.com,1999:blog-257947180566534388.post-33302437632544407602016-02-01T13:23:07.825+02:002016-02-01T13:23:07.825+02:00Есть несколько вариантов, включая написание кода н...Есть несколько вариантов, включая написание кода на Джава, но простых путей не очень много.<br />В зависимости от используемой ОС, опробован такой подход.<br /><br />1. Процедура удаляет временный файл на диске<br />2. Процедура создает отдельный файл при помощи утилит командной строки ОС, который содержит только список файлов из заданной директории.<br />3. Интерфейс загружает данные из текстового файла (из пункта 2) в таблицу.<br />4. По таблице делается рефреш переменной с выбором первого необработанного имени файла.<br />5. Передается на обработку, где статус файла из таблицы (п. 4) обновляется на обработан.<br />6. Переход на п. 4.VShttps://www.blogger.com/profile/07139556860500772462noreply@blogger.comtag:blogger.com,1999:blog-257947180566534388.post-78331397837276666052016-02-01T12:48:35.848+02:002016-02-01T12:48:35.848+02:00Использую OdiFileWait дожидаюсь файла, передаю его...Использую OdiFileWait дожидаюсь файла, передаю его на дальнейшую обработку. Как можно на самом первом этапе записать реальное имя файла в переменную? Anonymoushttps://www.blogger.com/profile/15841049760404855053noreply@blogger.com