Two problems in using LKM file to sql
hi all,
i met two problems during use "LKM file to sql" for loading data from csv file to oracle db. please try to help me, thanks a lot!
my environment:
os: win 7
odi version: 11g
The 1st condition is: in the 10th step of the execute session, a table called ".SNP_CHECK_TAB" which could not be created in oracle will be created!
If i modify it to SNP_CHECK_TABLE, the step will pass...
why naming table like this?
create table .SNP_CHECK_TAB
CATALOG_NAME VARCHAR2(100 CHAR) NULL ,
SCHEMA_NAME VARCHAR2(100 CHAR) NULL ,
RESOURCE_NAME VARCHAR2(100 CHAR) NULL,
FULL_RES_NAME VARCHAR2(100 CHAR) NULL,
ERR_TYPE VARCHAR2(1 CHAR) NULL,
ERR_MESS VARCHAR2(250 CHAR) NULL ,
CHECK_DATE DATE NULL,
ORIGIN VARCHAR2(100 CHAR) NULL,
CONS_NAME VARCHAR2(35 CHAR) NULL,
CONS_TYPE VARCHAR2(2 CHAR) NULL,
ERR_COUNT NUMBER(10) NULL
The 2nd condition is: i want to filter out certain name in the source table and the filter string is "BRE.name!='some_value'".
When I clicked the "Testing query" button, the following error shows:"Error while executing query Invalid format description".
It works well when the source db is oracle, why not file? Is there any format for the filter string in file? I don't think so...
Jun
Hi Jun,
Can i contribute a little for ur 2nd problem.
This error is coz, If u are using a filter against a File "data store" u can't test it, only against RDBMS query will be tested at data store level.
Well, for using that filter and make sure its working, drag and drop the source file in the interface (u can get the filter) and make it to execute on STAGING.
Thanks,
Guru
Similar Messages
-
Getting Error while using LKM File to Oracle(SQLLDR) KM in ODI
Hi All ,
Could anyone please help me out on this error which i am getting while using LKM File to Oracle(SQLLDR)
My Scenario :
1. I have my CSV file created in one location with some records .
2. Created a new interface having this CSV file as source(File Technology) and Table as target (Oracle technology)
3. Here i want to get the contents from csv and store into the target table by using SQLLDR .For that i am using this KM- LKM File to Oracle(SQLLDR)
4. By Executing the Interface i am getting following error at step 6 -call sqlldr
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See E:\demo1\file/SALES.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 E:\demo1\file/SALES.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._pyx2.f$0(<string>:59)
at org.python.pycode._pyx2.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
Here the sales.log file is not created in the above directory .I am not getting where it is actually went wrong.
I searched for the solution and i could not find any.Please help me out as it is high priority for me.
I tried to run SQL*Loader through command prompt and i am able to generate the data in the target table and not getting it through ODI.
Atleast is there any workaround .Please suggest me.
Environment Details: ODI_11.1.1.7.0, Oracle DB 11g
Thanks,
keerthiWhich agent are you using to execute?
Standalone? If standalone, did you start it with OPMN? I've seen such issues with standalone agent started with OPMN.
Generally these kind of issues occur when you try to run with standalone agent started with OPMN.
Because OPMN does not have access to the environment shell variables PATH or ORACLE_HOME and therefore the sqlldr.exe binary (or other Oracle product binary) is not found for execution.
In this case, you need to specify PATH and ORACLE_HOME variables in opmn.xml file like below for your agent(say "MyStandaloneAgent" in this case)
<ias-component id="MyStandaloneAgent">
<process-type id="odiagent" module-id="CUSTOM">
<environment>
<variable id="ORACLE_HOME" value="C:\oracle\product\11.2.0\client_1"/>
<variable id="PATH" value="C:\oracle\product\11.2.0\client_1\BIN;$PATH"/>
After that, start and stop the agent and try the execution once again. -
Error While using LKM File to Oracle(SQLLDR)
Hi ,
When I am trying to load the data from flat file to oracle table using LKM File to oracle (SQLLDR) it is getting failed with below error message.
SQL*Loader-128: unable to begin a session
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
HPUX-ia64 Error: 2: No such file or directory
I am able to execute SQLLDR scriptdirectly on the server but When access it through ODI LKM getting this error message. Any help on this please.
Thaks ,
KattaIs the agent you are executing the interface under located on the same server as the SQLLDR utility?
-
Where Dir is creating while using LKM -- File To Oracle(sqlldr) ?
Hi All,
I have created an interface (file -table) where I am using LKM -- File To Oracle(sqlldr) .
But I am getting error -- at the time of creating DIR
Error :-- Caused By: java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges
Code :-- create or replace directory dat_dir AS 'TEST_FILE'
I have requested DBA to give permission for this user to create Dir.
But he is asking which Directory he should give permission to create directory.
-- Kindly provide a directory on the server. I will create an Oracle Directory object on it and give read and write privilege to "XYZ" schema.
1> can any body help me that where this LKM is creating the DIR by default.I mean in which path.
2> My other query is from where I can get the Agent log. If I have to set up for the log path then from where to set up?
Not:- I am using ODI 11G
DB server is different from where ODI is installed.
Thanks,I looked into the KM steps and seems like the file is created in the same directory as your source file.
Agent log can be found under <server>/logs/oracledi for jee agent or under oracledi/log for standalone agent. For more info please check Troubleshooting Oracle Data Integrator - 11g Release 5 (11.1.5) -
Photoshop CS4- Does anyone know how to tell if two people are using same file?
Photoshop CS4- Does anyone know how to tell if two people are using same file?
Hi,
Thanks for your response. I'm not the solution in the link.
The problem that I am having at work it that several people in our department want to be able to update a file, but we want to be sure that no one else is currently editing that file. If someone has the file open, it's helpful to know the user's name so we can talk about when the next person can edit the file. This works in Excel files that we use, and I would love to find out how to do it in Photoshop and Illustrator.
Thanks for the help! -
Flat file to Oracle using --- LKM File to Oracle (SQLLDR)
Hello All,
I am planning to replicate simple sqlldr process below in ODI. Two things I cannot do, 1) I cannot modify exisiting tables for creating new sequences 2) We need SEQ column to start with 1 always(tried sequence in odi, didn't work as expected). I am not really good at jython nor java to be able to code "SEQ SEQUENCE (MAX,1) " process in knowledge module(LKM File to Oracle (SQLLDR)) during control file creation. please advice.
thanks in advance.
OPTIONS ( SKIP=0)
LOAD DATA
INFILE 'e:\Hyperion\DRM\Loadfile\wfc\WFC_1GLO_LE.txt'
BADFILE 'E:\Hyperion\ODI\Logs\WFC_1GLO_LE.bad'
DISCARDFILE 'E:\Hyperion\ODI\Logs\WFC_1GLO_LE.dsc'
TRUNCATE INTO TABLE "MDM_STAGE"."WFC_1GLO_WFLE"
FIELDS TERMINATED BY X'9'
TRAILING NULLCOLS
SEQ SEQUENCE (MAX,1),
PARENT,
CHILD,
CHILD_ALIAS,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3)You must modify LKM/IKM to create new sequence for each table. Typically, you should load the file into a C$ table in LKM and then call the sequence to get new key ids in IKM stage. But you can do this in LKMif you know what you are doing.
Duplicate LKM or IKM (in this case, LKM File to Oracle (SQLLDR)). Add two steps to the LKM before load step. In the first new step, add drop sequence statement like DROP SEQUENCE <%=odiRef.getTable("L", "TARG_NAME", "W")%>SEQ. Mark this step as "Ignore Error" so that load does not fail when sequence would not exist during the first run. In the second new step, create the sequence <%=odiRef.getTable("L", "TARGNAME", "W")%>_SEQ. That way your sequence value will start from 1 always. Be careful during the incremental run though.
Happy debugging. -
Hi,
I have an application which reads data from a text and writes them to a database. I should use batch files in my project to work classes with double clicking on them. Java application reads path of the text file from a properties file. I used relative paths like that " ..\\data\\records.txt" for text file path . But my problem is that; when I run application normally it executes. But when I tried to run it from batch file placed build folder(under project folder) it does not work. Because it tries to find the data folder under the build folder. But data folder is under parent folder of build folder. My batch file code is like that :
SET PATH=%JAVA_HOME%\bin;%PATH%
SET LIB_PATH=..\lib
SET CLASSPATH=%LIB_PATH%\mysql-connector-java-3.0.17-ga-bin.jar;..\bin;..\
java.exe yega.timesheet.MainApplication ..\\configuration\\properties.props
pause
Which statements should I add(and where) to make this batch file search for data folder under its parent folder... Please help me.
Thank you.Thanks Paul, but I tried to use cd before running program. I added "cd .." or "cd ..\" lines to batch file but they didn't work. I decided to use absolute path instead of using relative paths. I also found one more solution. I can put a properties file in build too. And define text path as " ..\\data\\records.txt " in this properties file.
Also I need to use "\\" because "..\\configuration\\properties.props" is the input for args... -
Error using LKM File to Oracle SQLLDR
Hi,
we are getting the following error when trying to use SQLLDR LKM
The error file says the table does not exist although I can see it in the database.
Any ideas?
Oracle DB 9i
SQLLDR 10.2
Load.out
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Load.log
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: D:\HFMBACKUP\/LOAD.ctl
Data File: D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT
File processing option string: "str X'0D0A'"
Bad File: D:\HFMBACKUP\/LOAD.bad
Discard File: D:\HFMBACKUP\/LOAD.dsc
(Allow 1 discards)
Number to load: ALL
Number to skip: 1
Errors allowed: 0
Continuation: none specified
Path used: Direct
Table ODISTAG."C$_12181010HFMData", loaded from every logical record.
Insert option in effect for this table: INSERT
TRAILING NULLCOLS option in effect
Column Name Position Len Term Encl Datatype
C1_SCENARIO FIRST * ; CHARACTER
C2_YEAR NEXT * ; CHARACTER
C3_VIEW NEXT * ; CHARACTER
C4_ENTITY NEXT * ; CHARACTER
C5_VALUE NEXT * ; CHARACTER
C6_ACCOUNT NEXT * ; CHARACTER
C7_ICP NEXT * ; CHARACTER
C8_PERIOD NEXT * ; CHARACTER
C10_C1 NEXT * ; CHARACTER
C13_C2 NEXT * ; CHARACTER
C9_C3 NEXT * ; CHARACTER
C12_C4 NEXT * ; CHARACTER
C11_VALUE1 NEXT * ; CHARACTER
SQL*Loader-951: Error calling once/load initialization
ORA-00942: table or view does not exist
Load CTL
OPTIONS (
SKIP=1,
ERRORS=0,
DIRECT=TRUE
LOAD DATA
INFILE "D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT" "str X'0D0A'"
BADFILE "D:\HFMBACKUP\/LOAD.bad"
DISCARDFILE "D:\HFMBACKUP\/LOAD.dsc"
DISCARDMAX 1
INTO TABLE ODISTAG."C$_12181010HFMData"
FIELDS TERMINATED BY X'3B'
TRAILING NULLCOLS
C1_SCENARIO ,
C2_YEAR ,
C3_VIEW ,
C4_ENTITY ,
C5_VALUE ,
C6_ACCOUNT ,
C7_ICP ,
C8_PERIOD ,
C10_C1 ,
C13_C2 ,
C9_C3 ,
C12_C4 ,
C11_VALUE1
)Hi,
Check the paths - seems like you have a combination of forward slashes and back slashes in the pathnames..
D:\HFMBACKUP\/LOAD.ctl and
D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TX for example have combination '\/' after HFMBACKUP.
cheers
Bos -
Problem with using swc files in Flash Player 10
I have two Actionscript projects in Flex. One is using Flash Player 9 the other is using 10. Both projects use the fl classes specifically FLVPlayback.
In the Flash Player 10 project I am using the recently released version 2.5. Both players use individual controls instead of a complete skin swf. So the code goes something like video_player.playPauseButton = playPauseBtn. All the swc files are imported through properties-ActionScript Build Path-Library path-add swc. This all works great in both projects exept in the Flash Player 10 project the volumeBar swc does not load properly. In the debug variables for a break point at the function below in FLVPlayback.as the variables handleLeftMargin, handleRightMargin, handleLinkageID and handleY are missing even though they are all in the original fla used to compile the swc. I have tried compiling swc in both Flash CS3 and 4. I have tried moving the Actionscript inside the fla files but nothing changes. This leads me to believe it is a bug in the Flash Player 10 or the version 10 playerglobal.swc since this part of FLVPlayback.as is identical in versions 2 and 2.5. The result is that only the volume bar renders but no handle. Debugging all through fl.video.UIManager.as handle_mc remains null?
public function set volumeBar(s:Sprite):void {
uiMgr.setControl(UIManager.VOLUME_BAR, s);
In the Actionscript 9 project all the variables are accounted for so the volume bar and handle render and work fine.Further info for anyone who can help!
I am opening a session from a server via the following sql
statement:-
http://servername/virtualdirectoryname?sql=SELECT
* FROM table1 for XML auto&root=root"
I only get the popup window when trying it out from our
webserver?
The server is MS SQLServer
The virtualdirectory is created with access set as Windows,
and always log on set as "myusername" + "mypassword"
So I thought (hoped) I could pass the "myusername" +
"mypassword"
bits into the above sql statement (maybe appended at the
end?)
If I type the above sql statement into a browser it works
perfectly with the xml returned in a web page,
also as I state above, when I run it from within my flash
prog on my local machine it runs OK and returns the results into
the text area specified within the flash prog.
BUT - When I upload my flash prog to the webserver and try it
from there, I get a windows popup asking me for username + password
+ domainname.
any ideas please? -
Webserver Problems when using exe file
Hey guys I could use some help with a problem I am having.
I am working with webservers and am trying to stream my program from one computer (server) to another. I can do this with standalone problems but am having trouble when I try to use an executable. I have found this article for help:
http://digital.ni.com/public.nsf/allkb/7F95D43D3F50FCAC8625710E000068E1
I have included two print screens of the situation.
1st is my observed stand alone file.
2nd is my exe file that is showing an error
Any help would be greatly appreciated
Attachments:
Stand alone Program.png 350 KB
With exe.png 87 KBHey dwhamm,
If the computer that you are trying to use as the server and deploy the executable on does not have the LabVIEW runtime engine that matches the development system, the remote front panel will not operate properly. Below please find a link on how to build an installer that you should make to include the proper runtime engine:
http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/build_installer/
There is a note at the bottom of the original tutorial that you referenced on what to be sure to include in the installer.
Also, were you able to try changing the URL from http://TargetComputerName/VIname.html to http://TargetComputerIPAddress/VIname.html?
Do you have any firewalls on the computer that is being used as the web server?
Regards,
Kira T -
Problem in using PNG files....
Hi everybody...
Whenever i use ImageIo.read(filename) function to read a PNG file....it returns a bufferedImage with Type = 0....
and i cannot use this type of image to perform convolution operations....
how can i solve this??....
Another problem is that whenever i save it using the write method....the size of the new file is way too large than original image.
( ex - 250 kb(source image) - 1.5Mb(saved image))
how can i solve this??
plzz someone help me...
itz urgent!!I'm making educated guesses here but I suspect you may be loading a palettised (ie <16M color) file and convolution probably requires true color - you can convert by creating a new image and rendering into it.
As for writing out, you can adjust the write settings by tailoring the relevant ImageWriteParams... there should be plenty of info around if you Google. -
Hi all,
This was the problem i was asked in my exam and i could not think anything on this.plz any body if makes me understand this i will be very thankful.
Write a program that reads an integer from a file. The initial name of the file
is known to be "data" but its extension is either "dat" or "txt" or "asc" or nothing.
In other words the name of the file is either "data" or "data.asc" or "data.txt"
or "data.dat". The program must systematically try to read one after one.
Indeed we assume that only one such file exists. As soon as it succeeds it
should not attempt any more. Then print the number.Dear Friends,
i know that all people on this forum are wonderful and very helpful.
i don't know why you all are not helping this kid who has posted this prob. and just demanding help.
plsssssssss just help me. -
Problem in using Timestamp from java.sql.*
AOA
i have declared a variable
private Timestamp entryDate = new Timestamp(8);while using it in my application. it inserts similar time stamp in database , like
01/01/1970 5:00:00 AM
How to get current time from it and how to insert it in databse.AOA
i have declared a variable
private Timestamp entryDate = new Timestamp(8);
Why? What does that 8 mean to you? Did you read the docs to see what it means to Timestamp?
>
while using it in my application. it inserts similar
time stamp in database , like
01/01/1970 5:00:00 AM
How to get current time from it and how to insert it
in databse.Did you read the docs for Timestamp? There's a constructor and/or a set method that takes a Date or a number of millis. You can get the current time in millis with System.currentTimeMillis. (I think that's the method name. Look at System's docs.)
As far as inserting it, you'll do something like this: TimeStamp ts = ...;
Connection con = DriverManager.getConection(...);
PreparedStatement ps = con.prepareStatement("insert into foo (bar) values (?)");
ps.setTimestamp(1, ts);
ps.executeUpdate(); Google for jdbc tutorial for more details. -
LKM File to Oracle (SQlLDR) giving errors
Hi,
I am using ODI to load data from an ascii file ( pipe separated) to an Oracle Table. So I created a Interface with LKM as "File to Oracle (SQlLDR)" and IKM as "SQL Control Append". CKM is "CKM Oracle".
I am using ODI Studio 11g with jdk 1.6 and am trying this on my windows XP machine. I also have sqlldr installed on my local machine. But still the interface fails with an error. The interface works if i use "LKM File to SQL" but i want to use SQLLDR because i will have high volumes coming in.
Can you please help.
Interface Error on Step Call sqlldr :
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 34, in ?
Load Error: See K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.log for details
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:345)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:169)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2374)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java:1615)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java:1580)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java:2755)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2515)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:534)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:449)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1954)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1818)
at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:559)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:481)
at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1040)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:114)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:619)
Jython Code :
import java.lang.String
import java.lang.Runtime as Runtime
from jarray import array
import java.io.File
import os
import re
import javaos
def reportnbrows():
f = open(r"K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.log";, 'r')
try:
for line in f.readlines():
if line.find("MAXIMUM ERROR COUNT EXCEEDED")>=0 :
raise line
finally:
f.close()
ctlfile = r"""K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.ctl";""
logfile = r"""K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.log";""
outfile = r"""K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.out";""
oracle_sid=''
if len('')>0: oracle_sid = '@'+''
loadcmd = r"""sqlldr apps/<@=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
if rc==2:
reportnbrows()If the log file is not created, are any of the other files getting created. eg: K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.ctl ?
If not, what is the Agent you are using to run this interface ? Local or any other ?
I can think of 2 possibilities:
1.) The user with whose credentials the agent is has been started, doesnt have permissions to write into the directory above. But if you are using a local agent, then this possibility doesnt hold.
2.) Try using K:\ProjectGalaxy\TechTeam\ODIDataFile as the path *(REMOVE THE SPACES from the directoryname)*. Create new directories without spaces.
I think the call to sqlldr is choking on these spaces. -
Hi,
This is similar - yet different - to a few of the old postings about performance
problems with using jdbc drivers against Sql Server 7 & 2000.
Here's the situation:
I am running a standalone java application on a Solaris box using BEA's jdbc driver
to connect to a Sql Server database on another network. The application retrieves
data from the database through joins on several tables for approximately 40,000
unique ids. It then processes all of this data and produces a file. We tuned
the app so that the execution time for a single run through the application was
24 minutes running against Sql Server 6.5 with BEA's jdbc driver. After performing
a DBMS conversion to upgrade it to Sql Server 2000 I switched the jDriver to the
Sql Server 2000 version. I ran the app and got an alarming execution time of
5hrs 32 min. After some research, I found the problem with unicode and nvarchar/varchar
and set the "useVarChars" property to "true" on the driver. The execution time
for a single run through the application is now 56 minutes.
56 minutes compared to 5 1/2 hrs is an amazing improvement. However, it is still
over twice the execution time that I was seeing against the 6.5 database. Theoretically,
I should be able to switch out my jdbc driver and the DBMS conversion should be
invisible to my application. That would also mean that I should be seeing the
same execution times with both versions of the DBMS. Has anybody else seen a
simlar situation? Are there any other settings or fixes that I can put into place
to get my performance back down to what I was seeing with 6.5? I would rather
not have to go through and perform another round of performance tuning after having
already done this when the app was originally built.
thanks,
mikeMike wrote:
Joe,
This was actually my next step. I replaced the BEA driver with
the MS driver and let it run through with out making any
configuration changes, just to see what happened. I got an
execution time of about 7 1/2 hrs (which was shocking). So,
(comparing apples to apples) while leaving the default unicode
property on, BEA ran faster than MS, 5 1/2 hrs to 7 1/2 hrs.
I then set the 'SendStringParametersAsUnicode' to 'false' on the
MS driver and ran another test. This time the application
executed in just over 24 minutes. The actual runtime was 24 min
16 sec, which is still ever so slightly above the actual runtime
against SS 6.5 which was 23 min 35 sec, but is twice as fast as the
56 minutes that BEA's driver was giving me.
I think that this is very interesting. I checked to make sure that
there were no outside factors that may have been influencing the
runtimes in either case, and there were none. Just to make sure,
I ran each driver again and got the same results. It sounds like
there are no known issues regarding this?
We have people looking into things on the DBMS side and I'm still
looking into things on my end, but so far none of us have found
anything. We'd like to continue using BEA's driver for the
support and the fact that we use Weblogic Server for all of our
online applications, but this new data might mean that I have to
switch drivers for this particular application.Thanks. No, there is no known issue, and if you put a packet sniffer
between the client and DBMS, you will probably not see any appreciable
difference in the content of the SQL sent be either driver. My suspicion is
that it involves the historical backward compatibility built in to the DBMS.
It must still handle several iterations of older applications, speaking obsolete
versions of the DBMS protocol, and expecting different DBMS behavior!
Our driver presents itself as a SQL7-level application, and may well be treated
differently than a newer one. This may include different query processing.
Because our driver is deprecated, it is unlikely that it will be changed in
future. We will certainly support you using the MS driver, and if you look
in the MS JDBC newsgroup, you'll see more answers from BEA folks than
from MS people!
Joe
>
>
Mike
The next test you should do, to isolate the issue, is to try another
JDBC driver.
MS provides a type-4 driver now, for free. If it is significantly faster,
it would be
interesting. However, it would still not isolate the problem, because
we still would
need to know what query plan is created by the DBMS, and why.
Joe Weinstein at BEA
PS: I can only tell you that our driver has not changed in it's semantic
function.
It essentially send SQL to the DBMS. It doesn't alter it.
Maybe you are looking for
-
Tbb1 - changing profit center in FI document account
Dear all, i need to change the profit center and the movement type when i create the document account with transaction TBB1. movement type: I CHANGED THE METHOD ACCIT_RMVCT_EXIT IN INTERFACE IF_EX_TPM_ACCIF_TRAC And it is ok. prctr : I created a new
-
How to make a Dynamic Link starting in After Effects to Premier (not other way around)
I have seen a ton of tutorials how to Dynamic Link from Premier to After Effects. (but not the other way around. ) I need instructions/video how to link starting in After Effect to Premier. For example if I make a title in After Effects and then want
-
Embeding audio player in jsp page.
Hello All, I have embed the quickTime player in a jsp page. Following is my code snippet of the object embedding. When I run the project my programme download and save the amr file from my database in the specified project location("../image/"+record
-
Do I need a seperate account (ID or iCloud) for a 2nd iPad?
I have an original iPad and will be giving it to my husband when I purchase a new one. How can I set up my old one for him with his email (an att.net account) and set up my new one with my email account (me.com)? One main computer, the iMac. Do I nee
-
How distinguish different type of objects?
I want to send different types of object form server to client and vice versa. How I differentiate which object come I am successfully working with ObjetcOutputStream .