powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ODI interface, LKM File To Oracle SQLLDR
10 сообщений из 10, страница 1 из 1
ODI interface, LKM File To Oracle SQLLDR
    #39729794
Festani_10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

при выполнении интерфейса загрузки из файла в таблицу(LKM File To Oracle SQLLDR) выполняется скрипт
который падает с ошибкой:

org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See /home/oracle/temp_rdf/ITEM_FORECAST_DY.log for details

скрипт:
import java.lang.String
import java.lang.Runtime as Runtime
from jarray import array
import java.io.File
import os
import re


ctlfile = r"""/home/oracle/temp_rdf/ITEM_FORECAST_DY.ctl"""
logfile = r"""/home/oracle/temp_rdf/ITEM_FORECAST_DY.log"""
outfile = r"""/home/oracle/temp_rdf/ITEM_FORECAST_DY.out"""
oracle_sid=''
if len('RMAPRD')>0: oracle_sid = '@'+'RMAPRD'


loadcmd = r"""sqlldr \'STAGE/<@=snpRef.getInfo("DEST_PASS") @>%s\' control=\'%s\' log=\'%s\' > "%s" """ % (oracle_sid,ctlfile, logfile, outfile)


rc = os.system(loadcmd)

if rc <> 0 and rc <> 2:
raise "Load Error", "See %s for details" % logfile

# Init Vars
nbIns = 0
nbRej = 0
nbNull = 0
strprt = ""
maxAllowedError = r"""99999"""
c = 0
flag = 0

# Open log file
f = open(logfile, "r")
try:
lines = f.readlines()
for line in lines:
if line.rstrip().upper().endswith(r"""STAGE.TC$_0ITEM_FORECAST_DY_TEST:""".upper()):
flag = 1
c = 0
if flag == 1:
if c > 0 and c <= 4:
if c == 1 :
nbIns = int(re.findall("\d+", line)[0])
elif c == 2:
nbRej = int(re.findall("\d+", line)[0])
elif c == 4:
nbNull = int(re.findall("\d+", line)[0])
break
c+=1
strprt = "\n\tIns:\t%s\n\tReject:\t%s\n\tNullField:\t%s" % (nbIns, nbRej, nbNull)
finally:
f.close()


# if some rows has been rejected due to invalide data, check KM option LOA_ERRORS
if rc == 2:
if nbRej > int(maxAllowedError):
raise strprt
break

помогиите разобраться в причине падения мб настройки не те в вел в LKMе
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729798
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а что там в логах sqllldr?
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729800
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Festani_10if rc <> 0 and rc <> 2:
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729801
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Festani_10if rc <> 0 and rc <> 2:а 2 это что?
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729803
Festani_10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander Ryndin,
Файл с логами не создался.
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729811
Festani_10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2--2-пропущено...
а 2 это что?

полный текст ошибки:


org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See /home/oracle/temp_rdf/ITEM_FORECAST_DY.log for details

at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:662)
Caused by: Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See /home/oracle/temp_rdf/ITEM_FORECAST_DY.log for details

at org.python.core.PyException.fillInStackTrace(PyException.java:70)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Exception.java:29)
at java.lang.RuntimeException.<init>(RuntimeException.java:32)
at org.python.core.PyException.<init>(PyException.java:46)
at org.python.core.PyException.doRaise(PyException.java:219)
at org.python.core.Py.makeException(Py.java:1166)
at org.python.core.Py.makeException(Py.java:1170)
at org.python.pycode._pyx34.f$0(<string>:59)
at org.python.pycode._pyx34.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1204)
at org.python.core.Py.exec(Py.java:1248)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
... 19 more
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729821
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Festani_10Alexander Ryndin,
Файл с логами не создался.Ну я бы шел туда, где работает агент. Искал бы сгенерированный control-файл и под тем же пользователем попробовал руками запустить sqlldr. Может путей до sqlldr не хватает. Может прав нет на каталог
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729822
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2--2-пропущено...
а 2 это что?Ну это автоматически сгенерированный скрипт. Маловероятно, что там есть косяки, если, конечно, никто своими кривыми руками не поковырялся в коробочных KM
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729832
Festani_10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander Ryndin-2-пропущено...
а 2 это что?Ну это автоматически сгенерированный скрипт. Маловероятно, что там есть косяки, если, конечно, никто своими кривыми руками не поковырялся в коробочных KM

сам LKM не трогал.
аналогичная ошибка на сайте
...
Рейтинг: 0 / 0
ODI interface, LKM File To Oracle SQLLDR
    #39729900
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Festani_10Alexander Ryndinпропущено...
Ну это автоматически сгенерированный скрипт. Маловероятно, что там есть косяки, если, конечно, никто своими кривыми руками не поковырялся в коробочных KM

сам LKM не трогал.
аналогичная ошибка на сайте это ошибка не в odi. Вам нужно смотреть настройки окружения, которое задействует odi
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ODI interface, LKM File To Oracle SQLLDR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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