Calling SQL*Loader from PERL; Message 2100 not found
I am trying a simple PERL script to call sqlldr and load data into an Oracle 10G database. I get the error message:
Message 2100 not found; No message file for product=RDBMS, facility=UL
Many forums have said the answer to this is to set environment variables like ORACLE_HOME and PATH. Even having done that I get this error. My script looks like:
#!E:\CommonApps\Perl\Perl\bin -w
$ENV{ORACLE_HOME}='E:\CommonApps\oracle';
print "Oracle HOME is: ";
print $ENV{ORACLE_HOME};
print "\n";
$ENV{PATH} = 'E:\CommonApps\oracle;E:\CommonApps\oracle\bin';
print "Path is ";
print $ENV{PATH};
print "\n";
if ($#ARGV != 7) { print "Incorrect Usage of runsqlldr\n";print "Usage: perl runsqlldr.pl dbuser dbpass dbname datafile discard ctlfile logfile badfile \n"; exit; }
$dbuser=$ARGV[0];
$dbpass=$ARGV[1];
$dbname=$ARGV[2];
$datafile=$ARGV[3];
$discard=$ARGV[4];
$ctlfile=$ARGV[5];
$logfile=$ARGV[6];
$badfile=$ARGV[7];
if (system("sqlldr userid=$dbuser/$dbpass\@$dbname control=$ctlfile data=$datafile=log=$logfile bad=$badfile discard=$discard SKIP=1 ERRORS=10000 ROWS=10000 BINDSIZE=512000 PARALLEL=TRUE") != 0) {
die "\n Running sqlldr failed!\n";
exit 0;
Is there anything else I need to do to make this work? The E:\CommonApps\oracle\rdbms\mesg directory has 3 files: kgpus.msb, ocius.msb, oraus.msb.
Thanks
Arvind
*** Duplicate Post *** {code}
Similar Messages
-
Calling SQL*Loader from Forms
Hi,
I was wondering if anyone has called SQL*Loader from Forms?
What I am wanting to do is use Oracle Forms as the interface where you can specify a file that you can import into the database and it will use a set control file. Push the import button and SQL*Loader does the rest.
Is using Java code to call SQL*Loader from Forms a viable option, or is there an easier way to achieve the desired outcome.
Any ideas or guidance will be much appreciated.
Thanks,
Scott.Scott,
In forms, there's a HOST built-in command which is supposed to execute any o/s commands.
What you have to do is :
1. Bult up the string exacltly in the fashion which you will run in o/s
2. Call the HOST Built-in and pass in the string
Here's a example :
Declare
lOsCmd Varchar2(1000) := Null;
Begin
lOsCmd := 'sqlldr user-id=userid/passwd@connectStr '
|| ' control=c:\temp\abc.ctl log=c:\temp\abc.log '
|| ' bad = c:\temp\abc.log';
Host (lOsCmd, No_Screen);
End;
-- Shailender Mehta -- -
Calling Sql-loader from PL/SQL
What is the command(s) to call Sql-Loader from inside a PL/SQL procedure?
Regards,
Ahmad.I don't think it is possible ...
-
Calling Sql*Loader from oracle Form builder
How do i call sql* loader from my forms to import the external data in different formats into my existing database?
Specify the flexibility of sql* loader to import external data from .txt files or .xls files.
Would be thankful if certain examples are given along with the answer.Hi,
1. First you have to create seperate ctl (Control files) which maps to different file formats
2. Using Oracle Forms,
2a) You can use the 'HOST' command to execute the command line ie. In this case executing
SQL*Loader script
2b) You also have the feature in ORACLE forms to read text files and load the data into
ORACLE db.
This can be achieved by using TEXT_IO package which comes with ORACLE Forms.
Hope this helps
Ta
Shailender -
Sqlldr: Message 2100 not found - No msg files in my RDBMS\Mesg dir
Hi All,
I am trying to use sqlldr on an WIN2003R3 server. This is not working and I get an error message:
MESSAGE 2100 NOT FOUND: WHEN ATTEMPTING TO START SQLLDR.
I searched the internet and there it states that this should have to do with my ORACLE_HOME or ORACLE_BASE environment variables or path. I checked those, but they seem fine.
On metalink it states two possiblities, for WIN NT,
- Removing the ORACLE_HOME env. variable
- Copy the files from another Oracle installation
(Metalink Note:171648.1 and Note:1081848.6).
I tried the first, but still doesnot work. Unfortunately I can't try the second, because all other Oracle installations I have access to are the same version, so they all have the same files in the RDBMS\Mesg directory.
My questions are:
- How many files should there be in the mentioned directory? (Now I've got 4: kgpus.msb, ocius.msb, oraus.msb, smgus.msb )
- Where can I get the missing files, or is there any other way to get around this?
- any ohter suggestions?
Thanks in advance. Any help will be appreciated,
Regards,
Toin.
Message was edited by:
Toin
Fixed a typo.
Message was edited by:
ToinThe problem is that my SQL Loader is not working under WIN NT. This is a known issue, one of the suggestions I found on metalink is to manually copy the message files that should be in ORACLE_HOME\DBMS\Mseg from another Oracle installation.
I cannot do this, because all my Oracle installations are the same. So the questions is where can I find the appropriate message files, so I can get my SQL Loader to run??
Thanks.
Toin. -
Message 2100 not found; No message file for product=RDBMS, facility=UL
Hi,
I am trying to run sqlldr. But I got this message:
Message 2100 not found; No message file for product=RDBMS, facility=UL;
I checked my ORACLE_HOME and it is set to: C:\oraclexe\app\oracle\product\10.2.0\server which includes the folders BIN,RDBMS, ....
I checked my C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS and there is no ORAUS.MSG inside the folder. If this is the solution where can I find this file? I read in the forums to copy it from the server directory to the client, but I couldn't find it anywhere on my machine.
Thanks,
MThansk, I really appreciate your help. This is the result:
AGSDESKTOPJAVA=C:\Program Files (x86)\ArcGIS\Desktop10.0\
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Matt\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=Smith
ComSpec=C:\Windows\system32\cmd.exe
DEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Matt
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_23
LOCALAPPDATA=C:\Users\Matt\AppData\Local
LOGONSERVER=\\Smith
NUMBER_OF_PROCESSORS=2
ORACLE_BASE=C:\oraclexe\app\oracle
ORACLE_HOME=C:\oraclexe\app\oracle\product\10.2.0\server
ORA_NLS=C:\oraclexe\app\oracle\product\10.2.0\server\nls
OS=Windows_NT
Path=C:\XEClient\bin;C:\oraclexe\app\oracle\product\10.2.0\server\bin;C:\Windows
\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerSh
ell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\MATLAB\R
2010a\runtime\win64;C:\MATLAB\R2010a\bin;C:\Program Files (x86)\Common Files\Rox
io Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\10.0\DLLSh
ared\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 15 Model 6 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0602
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
RoxioCentral=C:\Program Files (x86)\Common Files\Roxio Shared\10.0\Roxio Central
36\
SESSIONNAME=Console
SQLPATH=C:\XEClient\sqlplus
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Matt\AppData\Local\Temp
TMP=C:\Users\Matt\AppData\Local\Temp
USERDOMAIN=Smith
USERNAME=Matt
USERPROFILE=C:\Users\Matt
VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
VSEDEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection
windir=C:\Windows -
Message 2100 not found; No message file for product=RDBMS, facility=ULMessa
hi all,
I am using windows2000 and 10g i am running loader using java
but getting a message like
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage
I have checked oracle_home and path in my env setting. but no progress same message i am getting
but its running fine using cmd prompt.
please help
thanks in advance.First 10g is not a version it is a marketing label. What is the version number (to 3 decimal places).
Second can you expand your question to explain you this has to do with AQ? How are enqueued, what code is executing to dequeue? We can make guesses but they may have nothing to do with your actual environment. -
Calling SQL*Loader from OCCI
Hi All,
I need to access SQL*Loader from C++.
I know there is an interface for OCI to access SQL*Loader.
I also know there is a gnu project of a c++ wrapper to the OCI-SQL*Loader interface (odpd).
According to the OCCI documentation it is just a C++ facade of OCI (with some goodies like thread managing , etc.).
I want to know the following:
1. How can I operate OCI from OCCI?
2. Are there are source samples of operating OCI from OCCI or even better operating OCI SQL*Loader interface from OCCI?
3. Are there are any known (/unknown :-) ) problems with either OCCI access to OCI or OCI interface itself to the SQL*Loader?
Thanks,
ArikHi,
If you have a OCCI application and you want to interoperate with OCI, you can retrieve the underlying OCI handles from OCCI objects and write OCI code.
e.g :-
//with Environment env, Connection conn OCCI objects
OCIEnv *ocienv = env->getOCIEnv();
OCISvcCtx *ocisvc = conn->getOCISvcCtx();
//use OCI calls
OCIError *errhp;
OCIHandleAlloc (ocienv, &errhp, OCI_HTYPE_ERROR,...);
OCIHandleAlloc (ocienv, &dpctx, OCI_HTYPE_DIRPATH_CTX,..);
err = OCIDirPathLoadStream(...);
OCCI does not have a direct path API at present.
Thanks. -
How to Call SQL Loader from Java ( servlet )?
We need to call SQL Loader command from Java Servlets? Any suggestions how this can be done?
Thanks
RahulProbably not the best way, but you could try using JNI to call a C function which then invokes SQL Loader via system() or exec(). I haven't done this myself though...
-
Calling SQL Loader from Forms 4.5 using HOST command in Win2000
One of my forms calls SQL Loader 7.3 using HOST command to load a csv file onto the database(Oracle 7.3) under Windows 2000 platform.
Only after sql loader finishes its operation the control should come to my form i.e. synchronous execution.
As of now its running asynchronously.
Is there any way to make it synchronous. If Not any other work arounds?
Environment Details
Forms [32 Bit] Version 4.5.10.6.0 (Production)
Windows 2000 Operating System
Oracle7 Release 7.3.2.3.2Forms6i running on W2000, Rdbms 8.1.7
in Forms I added a button TEST,
Trigger when-button-pressed : host('test.bat') ;
in directory .......\frm I added file test.bat :
REM ===============
cd /d C:\........\ldr
pause
sqlldr parfile=test.par
pause
type test.log
pause
exit
REM ================
now, pressing TEST button opens DOS window, telling me what's going on, running sqlldr, finally going back to forms
Are you using NO_PROMPT or NO_SCREEN option of HOST command ?
Had a look at Forms 4.5 manuals, there is no mentioning of (a)synchronously operation in connection with HOST command. -
Calling SQL LOADER From Java Program
Hi
I need to invoke sql loader from inside a Java Class.
Any Pointers in this regards will be really appreciated.
Thanks
VishalYou can create two different files which has sqlldr command defined....
1. loader.sh
2. loader.bat
and in the depending on the OS execute one...
String command = "";
if(System.getProperty("os.name").equals("Windows 2000")){
//if os is windows 2000 then execute bat file
command = <<bat file path>>
}else{
command = <<shell path>>
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(command);
int i = p.exitValue();
-
Calling SQL Loader from SQL Plus
Hi everyone,
I currently use both SQL Loader and SQL Plus to load data and to then carry out certain DML tasks and to reinstate indexes. That all works fine but of course I need to be present to start and to monitor the various scripts.
What I would really like to do is to be able to incorporate the calls to SQL-Loader into my SQL-Plus scripts and am wondering if this is possible.
At the moment I run some parts of the load in 'batch' (i.e. command line calls to SQL-Loader and to SQL-Plus) but this won't work for the whole load because the batch calls (from Windows) are not able to wait for particular processes to finish before they start the next. This works OK for the SQL-Loader scripts (because they can run in parallel) but will not work for the whole load because the load needs to be finished before the further processing starts.
Or maybe there is a way (Windows .BAT files?) to set up batch processes which are intelligent enough to wait for one action to finish before starting the next action.
Any thoughts or any links to HOWTOs on this would be a great help.
Regards and thanks,
Alan SearleHi Alan,
In SQL*Plus you have the HOST command.
I would go for the .bat solution using [START /WAIT|http://www.computerhope.com/starthlp.htm]
Regards
Peter -
Error while calling sql loader from shell script.
In the table DBMS_SCHEDULER_JOB_RUN_DETAILS im getting the error as ""SQL*Loader-128: unable to begin a session ORA-01017: invalid username/password; logon denied""....do we need previliges for creating session of the db user????.....or wht other settings we require to do.....if the username and password used is right.
user1122577 wrote:
SQL*Loader-128: unable to begin a session ORA-01017: invalid username/password; logon deniedI don't know, but somehow the error you recived looks like ORA-01017 : )
[oracle@dell ~]$ sqlplus ring/ring
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jul 22 11:50:58 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
[oracle@dell ~]$
[oracle@dell ~]$
[oracle@dell ~]$ sqlldr ring/ring
control = i don't have it
SQL*Loader: Release 10.2.0.4.0 - Production on Thu Jul 22 11:51:08 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL*Loader-500: Unable to open file (i don't have it.ctl)
SQL*Loader-553: file not found
SQL*Loader-509: System error: No such file or directory
[oracle@dell ~]$
[oracle@dell ~]$
[oracle@dell ~]$ sqlldr ring/wrongpassword
control = i don't have it again
SQL*Loader: Release 10.2.0.4.0 - Production on Thu Jul 22 11:51:38 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL*Loader-128: unable to begin a session
ORA-01017: invalid username/password; logon denied
[oracle@dell ~]$ -
Calling SQL Loader from ColdFusion Web Server
We are trying to Load Data files into Oracle through a Cold Fusion Web Application. Users will browse to a local file on their computers, click a button, and our application will use SQL Loader to load the data into oracle. The ColdFusion web server is Unix and the 11g database server is Linux. When we run the ColdFusion code below we get a file not found error, the sqlldr executable cannot be found. Do we need to install an Oracle client or something on the ColdFusion Web server to get this to work?
<cfexecute name="sqlldr" arguments="ADVDEMO@ADVDEMO/Transact2011 control=/space/users/www/advfiles/ControlFiles/BS/Bio_ControlFile.ctl" timeout="500"></cfexecute>'sqlldr' is part of Oracle server or (full) Oracle client software - NOT the OS - so indeed you need to install at least the client. Unfortunately 'sqlldr' is not part of the Instant Client, which is much smaller than the full client.
Some guys tried to add 'sqlldr' manually:
http://my.opera.com/onyxluo/blog/2007/12/28/add-sql-loader-into-oracle-10-instant-client
Werner -
Call SAP function from VB - Structure member not found " unknown "
Hello,
(I don't know if this is the appropriate forum, but I didn't find any which seem to match my topic ...)
I use the following VB code to call the SAP function ARCHIV_PROCESS_RFCINPUT:
Dim bapiControl As SAPBAPIControl
Dim logonControl As SAPLogonControl
Dim functions As SAPFunctions
Set bapiControl = New SAPBAPIControl
Set logonControl = New SAPLogonControl
Set functions = New SAPFunctions
Set bapiControl.Connection = logonControl.NewConnection
' do login
Set functions.Connection = bapiControl.Connection
Dim myFunction As SAPFunctionsOCX.Function
Set myFunction = functions.Add("ARCHIV_PROCESS_RFCINPUT")
Dim myStructure As SAPFunctionsOCX.Structure
Set myStructure = functions.CreateStructure("OARFCIN")
' the following values are just examples
myStructure("ARCHIV_ID") = "01"
myStructure("ARC_DOC_ID") = "1234567890123457890"
myStructure("AR_OBJECT") = "TIF"
myStructure("DOC_TYPE") = "FIIINVOICE"
myStructure("BARCODE") = "1"
myFunction.Exports("DOCUMENT_ENTRY") = myStructure
At this point execution stops with the following error message:
Err.Number: 1006
Err.Description: Structure member not found "<unknown>"
Err.Source: wdtfuncs
What is wrong? The function ARCHIV_PROCESS_RFCINPUT needs one input parameter called "DOCUMENT_ENTRY" which is of type OARFCIN ...
ARCHIV_CONNECTION_INSERT, which has only Strings as input parameters (no structures), works fine ...
I tried all variations I could think of:
myStructure.Value("ARCHIV_ID") = G_csDefaultRepository
instead of myStructure("ARCHIV_ID") = G_csDefaultRepository
declaring bapiControl, logonControl and functions as Object, and instanciating them with CreateObject(...)
myFunction.Exports(0).Insert "DOCUMENT_ENTRY", myStructure
instead of myFunction.Exports("DOCUMENT_ENTRY") = myStructure
(which gave me a "Collection member not found" error) ...
Nothing worked ...
What is wrong with this code??
Thanks for help!
Regards
SteffiHi Ralf,
try substituting following code:
' the following values are just examples
myStructure("ARCHIV_ID") = "01"
myStructure("ARC_DOC_ID") = "1234567890123457890"
myStructure("AR_OBJECT") = "TIF"
myStructure("DOC_TYPE") = "FIIINVOICE"
myStructure("BARCODE") = "1"
myFunction.Exports("DOCUMENT_ENTRY") = myStructure
with that one:
Set myStructure = myFunction.Exports("DOCUMENT_ENTRY")
' the following values are just examples
myStructure.Fields("ARCHIV_ID") = "01"
myStructure.Fields("ARC_DOC_ID") = "1234567890123457890"
myStructure.Fields("AR_OBJECT") = "TIF"
myStructure.Fields("DOC_TYPE") = "FIIINVOICE"
myStructure.Fields("BARCODE") = "1"
Let me know!
Enjoy!!
Maybe you are looking for
-
Hi, I built an user interface to allow free filenames to save data. unfortunately some user enters "/" and ":". those characters are illegal in windows environment. when the program tries to save the file either nothing happens and all datas are gone
-
Add Shopping Cart Number to Purchase Order Data in ERP system
We would like to be able to send the Shopping Cart number to our ERP system so that it is visible on the Purchase Order details data. What data / BADI would we have to use to transfer this shopping cart number to our ERP system? Thanks, Jim
-
I'd like to select some rows from my table. I try sth like this: music.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base baza = new Base("MUZYKA"); try {
-
Do I really need to reinstall Windows partition when upgrading to Leopard?
I've installed Leopard and installed the Leopard drivers in Windows. Now Startup Disk control panel does not show the Windows boot option. I can use it by holding down the Option key at boot time or by running BootChamp. Windows works fine. I ran the
-
quick question... if i delete the aperture program on my mac pro, will the aperture library of pictures be deleted as well? i plan on re-installing. of course all my pictures are already backed up but it would save me a ton of time re-uploading them.