Occi::environment createConnection throws exception
Hi there,
I tried connecting to my Oracle 11g database in debug mode but was unsuccessful. I am developing an ActiveX plugin using Visual Studio 2008. I downloaded OCCI 11.1.0.6.0 and instant client 11.2.0.1.0, extracted the the lib and dll files to my project directory, included the header files as part of my project include directory. Release mode works fine but it's debug that I am having issues with. When I link against oraocci11d.lib in debug mode, it gives me the error "error PRJ0050: Failed to register output. Please ensure you have the appropriate permissions to modify the registry." So then I linked against oraocci11.lib and was able to build successfully. However, I get the following error:
try
env = Environment::createEnvironment(Environment::DEFAULT);
conn = env->createConnection("SYSTEM", "pwd", "remoteserver:1521/TEST"); //fails here
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
catch (SQLException& e)
std::cout<<e.what();
First-chance exception at 0x7c812afb in iexplore.exe: Microsoft C++ exception: oracle::occi::SQLException at memory location 0x0013a748..
First-chance exception at 0x7c812afb in iexplore.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000..
I see that others are having slightly different issues with Debug mode but I did not see a resolution for any of them. Any help would be much appreciated!
Edited by: user13168246 on Jun 25, 2010 4:08 PM
Make sure you include th directory that contains all the necessary header files in your project. It should be in your installed oracle directory (eg. d:\app\oracle\product\11.2.0\dbhome_1\OCI\include) so point to that in Project Properties->C/C++->General->Additional Include Directories. Then link it to oraocci11d.lib under Project Properties->Linker->Input->Additional Dependencies. Also include the following DLLs oraociei11.dll, oraocci11d.dll, oraocci11.dll, orannzsbb11.dll in your debug and release directories.
Similar Messages
-
Environment::createConnection throws unknown exception
I just have such a simple code:
Environment* env = Environment::createEnvironment();
Connection* conn;
try {
conn = env->createConnection
("user", "passwd", "database");
catch (SQLException exc)
cout << exc.what();
exit(0);
catch (exception exc)
cout << exc.what();
exit(0);
catch (...)
cout << "Here I am!!!";
exit(0);
env->terminateConnection (conn);
What kind of exception can be thrown from
env->createConnection ("user", "passwd", "database");
when it can't be catched by two previous handlers?
I have compiled it under VC++ .NET 2003 and run
under WinXP Professional with oracle 9.
Thanks for advise a lot, ...OCCI libraries for developing applications with Visual C++ 7.0 (.NET 2002) are available in the 9.2.0.4 patchset. The default OCCI libraries work only with VC6.
Oracle 10gR1 10.1.0.2 includes OCCI libraries for VC++ 7.0 and VC++ 7.1 (.NET 2003).
The new libraries are installed under %ORACLE_HOME%\oci\lib\msvc\vc7 & %ORACLE_HOME%\oci\lib\msvc\vc71 -
Exceptions in oracle::occi::Environment's class terminate methods
Could terminateEnvironment or terminateConnection oracle::occi::Environment's throw an Exception?
I want to call this methods from a destructor and I must to know it (the doc say nothing)
Thanks in advance!
Best regardsHi,
No, I just installed the application on one machine, so i can't reproduce it on another machine.What is the OS?
Can you please explain what you mean by:
see if the solution in (Note: 1076817.1 - Cannot Launch FDHM IN DBI, It Shows Blank Screen) helps.This is a My Oracle Support document -- https://support.oracle.com
Thanks,
Hussein -
EJB is not throwing exception to calling Action class in Unix environment
Hi
We are using Weblogic Server 9.2.3.0.
One of our EJB is not throwing exception to calling Action class in Unix environment. Its working fine in Windows.
Somehow the EJB is swallowing the exception.
any idea? I suspect it may be environmental issue?
thank youHi
We are using Weblogic Server 9.2.3.0.
One of our EJB is not throwing exception to calling Action class in Unix environment. Its working fine in Windows.
Somehow the EJB is swallowing the exception.
any idea? I suspect it may be environmental issue?
thank you -
Occi GetString causing a exception with ntdll.dll oracle 10g and MS 2005
hi,
I am getting an exception with using Visual Studio 2005(VC++8) and occi.h 10g client.
When I run the release version I get an exception in ntdll.dll.
The problem is in the getString(). The field in the oracle table is defined as a varchar2(300).
I am new to oracle occi and need a solution because we cannot migrate to another version of the database.
These are the solutions I have tried:
download patches for MS Visual studio
download patched for oracle 10g client
Check that the charset it correct for std:string
I see that others have had the same problem but no one has a solution. If anyone has a solution please email me because I have searched for days!
Thanks
SherylAloha
Thank you for your response, I am new to posting, occi and C++. Can I send you the files.
Sorry didnt read this reply until today.
The email is [email protected].
This environment:
1> windows xp
2> MS Studio 5 VC++8
3> OCCI 10.2.0.3.0 (patch 13)libraries for Microsoft Visual C++ 8
4> I am using the Instant Client
5> I am using /MD Multithreaded DLL
6> Charset is oracle::occi::Environment::createEnvironment ("US7ASCII","AL16UTF16",Environment::DEFAULT);
7> We running the application in release mode and getting this error with a bad memory reference on getString().
I am getting a memory reference error on the getString(4).
This is the code that is causing the error
try
string istmt ="SELECT FILE_ID,FILES.FTYP_ID,LTRIM(RTRIM(FILEPATH)),LTRIM(RTRIM(FILENAME)),TITLE FROM FILES,FILE_TYPES WHERE FILE_TYPES.EXTN = 'img'AND file_types.ftyp_id = files.ftyp_id AND FILES.HDR_SCAN_DATE IS NULL ORDER BY FILEPATH, FILENAME ";
ResultSet * set = db->select(istmt);
if (set == NULL)
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"No file to process occured in : %s ", methodName.c_str());
return;
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"Did select in : %s ", methodName.c_str());
while (set->next())
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"Doing a set next in : %s ", methodName.c_str());
if (set->isNull(1) || set->isNull(2) || set->isNull(4) || set->isNull(3))
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"a value is null continue in : %s ", methodName.c_str());
continue;
try {
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"About to get string 3 in : %s ", methodName.c_str());
std::string test(set->getString(3));
fname.assign(test);
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"File name: %s in : %s ",fname.c_str(), methodName.c_str());
} catch (exception ex9) {
LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Exception in get string msg: occured in : %s ",ex9.what(), methodName.c_str());
continue;
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"getting int 1 in : %s ", methodName.c_str());
fid = set->getInt(1);
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"getting string 4 in : %s ", methodName.c_str());
fn.assign(set->getString(4));
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"after getting string 4 in : %s ", methodName.c_str());
//dont append a slash if not need
size_t pos = fname.find_last_of("\\");
if(pos != fname.length()-1)
fname.append("\\");
fname.append(fn);
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"adding %s to map in : %s ",fname.c_str(), methodName.c_str());
fnames.insert (std::pair<unsigned int,std::string>(fid,fname));
// int ftype = set->getInt(2);
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"got fid:%d, fname:%s fn: %s to map in : %s ",fid,fname.c_str(),fn.c_str(), methodName.c_str());
catch (SQLException ex)
LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Sql Exception code: %d message: %s occured in : %s ",ex.getErrorCode(),ex.getMessage().c_str(), methodName.c_str());
db->exceptionHandler("SELECT PARAMS",ex.getErrorCode(),ex.getMessage());
throw;
catch (exception ex3)
LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Exception occured message: %sin : %s ", ex3.what(),methodName.c_str());
db->exceptionHandler("SELECT PARAMS",1,ex3.what());
throw;
catch (...) {
LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Error occured in : %s ", methodName.c_str());
This is the code for the select in occi
/* Select statement for oracle occi*/
void * OraDb::select(std::string& sqlStr,std::map<std::string,VALUES,classcomp> & val) {
string methodName = "OraDb::select";
ResultSet *selectRset;
try {
this->stmt->setSQL(sqlStr);
this->bind(val);
selectRset = this->stmt->executeQuery ();
oracle::occi::Statement::Status res = this->stmt->status();
while(res != oracle::occi::Statement::RESULT_SET_AVAILABLE) {
LogT::Get()->log(Logger::LOG_LEVEL_INFO,"the results set isnt ready");
res = this->stmt->status();
catch (SQLException ex)
LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Sql Error in %s code: %d Message:%s",methodName.c_str(),ex.getErrorCode(),ex.getMessage().c_str());
//Add error to error log
this->exceptionHandler(methodName,ex.getErrorCode(),ex.getMessage());
throw;
catch (exception ex3)
LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Error in %s Message:%s",methodName.c_str(),ex3.what());
this->exceptionHandler(methodName,1,ex3.what());
//Add error to errorlog
throw;
return selectRset;
This is the logs I get
ParamsTb::selectImgParams
in method OraDb::select this is the statement:SELECT FILE_ID,FILES.FTYP_ID,LTRIM(RTRIM(FILEPATH)),LTRIM(RTRIM(FILENAME)),TITLE FROM FILES,FILE_TYPES WHERE FILE_TYPES.EXTN = 'img'AND file_types.ftyp_id = files.ftyp_id AND FILES.HDR_SCAN_DATE IS NULL
Did select in : FilesTb::selectImgFiles
Doing a set next in : FilesTb::selectImgFiles
About to get string 3 in : FilesTb::selectImgFiles
File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\CamIRa\fpa\384-for-MnM\ in : FilesTb::selectImgFiles
getting int 1 in : FilesTb::selectImgFiles
getting string 4 in : FilesTb::selectImgFiles
after getting string 4 in : FilesTb::selectImgFiles
adding \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\CamIRa\fpa\384-for-MnM\\foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
got fid:4766408, fname:\\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\CamIRa\fpa\384-for-MnM\\foeHeaderAirplane.img fn: foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
Doing a set next in : FilesTb::selectImgFiles
About to get string 3 in : FilesTb::selectImgFiles
File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\HFDS20080826\384-for-MnM\ in : FilesTb::selectImgFiles
getting int 1 in : FilesTb::selectImgFiles
getting string 4 in : FilesTb::selectImgFiles
after getting string 4 in : FilesTb::selectImgFiles
adding \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\HFDS20080826\384-for-MnM\\foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
got fid:4778728, fname:\\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\HFDS20080826\384-for-MnM\\foeHeaderAirplane.img fn: foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
Doing a set next in : FilesTb::selectImgFiles
About to get string 3 in : FilesTb::selectImgFiles
File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\HFDS2-10-1-0-99\c\WINDOWS\system32\drivers\ in : FilesTb::selectImgFiles
getting int 1 in : FilesTb::selectImgFiles
getting string 4 in : FilesTb::selectImgFiles
after getting string 4 in : FilesTb::selectImgFiles
adding \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\HFDS2-10-1-0-99\c\WINDOWS\system32\drivers\\netwlan5.img to map in : FilesTb::selectImgFiles
got fid:4873869, fname:\\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\HFDS2-10-1-0-99\c\WINDOWS\system32\drivers\\netwlan5.img fn: netwlan5.img to map in : FilesTb::selectImgFiles
Doing a set next in : FilesTb::selectImgFiles
About to get string 3 in : FilesTb::selectImgFiles
File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\rwolfshagen\c\Resp-C4\ in : FilesTb::selectImgFiles
getting int 1 in : FilesTb::selectImgFiles
getting string 4 in : FilesTb::selectImgFiles
I dumped a few things from last night’s Dr. Watson run, shown below, which may help:
manifest.txt
Server=watson.microsoft.com
UI LCID=1033
Flags=1672016
Brand=WINDOWS
TitleName=ImgHeaderLoader.exe
DigPidRegPath=HKLM\Software\Microsoft\Windows NT\CurrentVersion\DigitalProductId
ErrorText=This error occurred on 6/25/2009 at 1:47:02 AM.
HeaderText=ImgHeaderLoader.exe encountered a problem and needed to close.
Stage1URL=/StageOne/ImgHeaderLoader_exe/0_0_0_0/ntdll_dll/5_2_3790_4455/0002b67d.htm
Stage2URL=/dw/stagetwo.asp?szAppName=ImgHeaderLoader.exe&szAppVer=0.0.0.0&szModName=ntdll.dll&szModVer=5.2.3790.4455&offset=0002b67d
DataFiles=C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00\ImgHeaderLoader.exe.mdmp|C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00\appcompat.txt
Heap=C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00\ImgHeaderLoader.exe.hdmp
ErrorSubPath=ImgHeaderLoader.exe\0.0.0.0\ntdll.dll\5.2.3790.4455\0002b67d
DirectoryDelete=C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00
appcompat.txt
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="ImgHeaderLoader.exe" FILTER="GRABMI_FILTER_PRIVACY">
<MATCHING_FILE NAME="common.dll" SIZE="6656" CHECKSUM="0xA0D33EDD" MODULE_TYPE="WIN32" PE_CHECKSUM="0x8ADC" LINKER_VERSION="0x0" LINK_DATE="06/25/2009 00:44:47" UPTO_LINK_DATE="06/25/2009 00:44:47" />
<MATCHING_FILE NAME="FileLoader.exe" SIZE="65536" CHECKSUM="0x15C68C49" MODULE_TYPE="WIN32" PE_CHECKSUM="0x16CC5" LINKER_VERSION="0x0" LINK_DATE="06/23/2009 02:29:33" UPTO_LINK_DATE="06/23/2009 02:29:33" />
<MATCHING_FILE NAME="FileLoaderOriginal.exe" SIZE="65536" CHECKSUM="0x6672AE23" MODULE_TYPE="WIN32" PE_CHECKSUM="0x17E45" LINKER_VERSION="0x0" LINK_DATE="06/20/2009 03:34:40" UPTO_LINK_DATE="06/20/2009 03:34:40" />
<MATCHING_FILE NAME="ImgHeaderLoader.exe" SIZE="118784" CHECKSUM="0xBA94D6AE" MODULE_TYPE="WIN32" PE_CHECKSUM="0x20F4B" LINKER_VERSION="0x0" LINK_DATE="06/24/2009 22:42:49" UPTO_LINK_DATE="06/24/2009 22:42:49" />
<MATCHING_FILE NAME="x.exe" SIZE="65536" CHECKSUM="0x66982AE3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x103FD" LINKER_VERSION="0x0" LINK_DATE="06/18/2009 23:55:27" UPTO_LINK_DATE="06/18/2009 23:55:27" />
</EXE>
<EXE NAME="ntdll.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
<MATCHING_FILE NAME="ntdll.dll" SIZE="774144" CHECKSUM="0x74ACB78F" BIN_FILE_VERSION="5.2.3790.4455" BIN_PRODUCT_VERSION="5.2.3790.4455" PRODUCT_VERSION="5.2.3790.4455" FILE_DESCRIPTION="NT Layer DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.2.3790.4455 (srv03_sp2_gdr.090203-1205)" ORIGINAL_FILENAME="ntdll.dll" INTERNAL_NAME="ntdll.dll" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xC2B9D" LINKER_VERSION="0x50002" UPTO_BIN_FILE_VERSION="5.2.3790.4455" UPTO_BIN_PRODUCT_VERSION="5.2.3790.4455" LINK_DATE="02/09/2009 11:02:56" UPTO_LINK_DATE="02/09/2009 11:02:56" VER_LANGUAGE="English (United States) [0x409]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
<MATCHING_FILE NAME="kernel32.dll" SIZE="1038336" CHECKSUM="0x7EFD9E0D" BIN_FILE_VERSION="5.2.3790.4480" BIN_PRODUCT_VERSION="5.2.3790.4480" PRODUCT_VERSION="5.2.3790.4480" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.2.3790.4480 (srv03_sp2_gdr.090321-1244)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x101B44" LINKER_VERSION="0x50002" UPTO_BIN_FILE_VERSION="5.2.3790.4480" UPTO_BIN_PRODUCT_VERSION="5.2.3790.4480" LINK_DATE="03/21/2009 17:08:26" UPTO_LINK_DATE="03/21/2009 17:08:26" VER_LANGUAGE="English (United States) [0x409]" />
</EXE>
</DATABASE>
THANKS!!!!! -
SQL query throwing Exception.
Hi,
i am facing a problem while using the date as search criteria. In the JDO class the field type is of java.util.Date. The search is working in the local environment whose local date settings as M/d/YYYY(windows 2003 , english version).The search is not working in the chines OS environment , where the local date setting is YYYY-M-d. In the chinese enviroment , if we alter the session NLS settings in toad, we could able to execute the query.
we are using kodo-2.5.8
SELECT t0.JDO_ID, t0.JDO_CLASS, t0.BAD_NAMES, t0.CONCAT_NAME, t0.DDATE, t0.FIRST_NAME, t0.LAST_NAME, t0.MAX_SCN, t0.NAME,
t0.NATURALID, t0.PARTYID, t0.PHONE, t0.ROLE FROM PARTY_VBO t0 WHERE (t0.ROLE LIKE '%ICR%' AND t0.DDATE = '17-APR-1974' AND ROWNUM <= 25) AND
t0.JDO_CLASS = 2 ORDER BY t0.PARTYID ASC)
This Query is throwing ORA-01843.
From where the session opened by the java in oracle will take the data format?Plaese help.
One of my sql query is throwing exception during
execution. I do not know which one (there are several
of them). Is there a way to display or extract the
last query from SQLException class.
Any help will be highly appreciated.
Thanks,
Indrasish.No there is not. You should do some debugging, such as logging something like: "Executing query: SELECT blahblahblah" - then execute the query, then log something like: "Query completed". Then find in your log which one didn't complete. -
Java Does Not Throw Exception When Writing To Read-Only Files
I have noticed that when I try to write to a read-only file in a window environment, Java does not throw an IOExcpetion, it just dosn't write to the file.
I am writing an FTP server and here is the code:
public static long copyStream(InputStream in, OutputStream out)throws IOException
IOException exception = null;
long copied = 0;
try
byte buffer[] = new byte[1024];
int read;
while((read = in.read(buffer)) != -1)
out.write(buffer, 0, read);
copied += read;
catch(IOException e)
//ensures that the streams are closed.
exception = e;
try
in.close();//ensures output stream gets closed, even if there is an
//excption here.
catch(IOException e){exception = e;}
out.close();//try to close output.
if(exception != null)
//exception is not null, an exception has occured.
//rethrow exception.
throw exception;
return copied;//all ok, return bytes copied.
}Is this a bug in JAVA VM? Is so, how should I report it?I have noticed that when I try to write to a read-only file in a window environment,
Java does not throw an IOExcpetion, it just dosn't write to the file.C:\source\java\Markov>attrib readonly.out
A R C:\source\java\Markov\readonly.out
�C:\source\java\Markov>java b
java.io.FileNotFoundException: readonly.out (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at b.main(b.java:5)
import java.io.*;
public class b {
public static void main(String[] args) {
try {
OutputStream os = new FileOutputStream ( "readonly.out");
catch (Exception e) {
e.printStackTrace();
} -
I got this error when i try to run sample database access using OCCI libraries.
test.cpp:21: undefined reference to `oracle::occi::Environment::createEnvironment(oracle::occi::Environment::Mode, void*, void* (*)(void*, unsigned int), void* (*)(void*, void*, unsigned int), void (*)(void*, void*))'
Following link contains same problem but there is no answer.
#include <iostream>
#include <occi.h>
using oracle::occi::Connection;
using oracle::occi::Environment;
using oracle::occi::Statement;
using oracle::occi::ResultSet;
using namespace std;
int main() {
Environment *environment;
Connection *con;
Statement* stmt;
ResultSet* res;
try {
//std::cout << "dasfasfafa";
environment = Environment::createEnvironment(oracle::occi::Environment::DEFAULT);
con = environment->createConnection("aaa", "aaa", "Caaa");
stmt = con->createStatement("select * from emp");
res = stmt->executeQuery();
while (res->next())
std::cout << res->getInt(1) << " " << res->getString(2) << std::endl;
stmt->closeResultSet(res);
con->terminateStatement(stmt);
environment->terminateConnection(con);
} catch (oracle::occi::SQLException &e) {
std::cout << e.what();
return 0;
}The demos have this:
#include <iostream>
#include <occi.h>
using namespace oracle::occi;
using namespace std;
... -
Function module JOB_CLOSE throwing exception
Hello,
We have a batch job which has 2 steps:
1) Step 1 uses job_open, job_submit and job_close and immediately schedules batch job A/P_ACCOUNTS which in turn creates batch input sessions A/P_ACCOUNTS.
2) Step 2 Processes A/P_ACCOUNTS sessions created yesterday or today.
In few cases, job_close is throwing exception job_close_failed. I believe that error is coming due to non availability of work processes. Job A/P_Accounts is defined as a class C batch job. There is a check in the FM job_close which does the following check:
- if the class of a batch job is B or C, it calculates the number of free work processes. If there are no work processes available then JOB_CLOSE throws JOB_CLOSE_FAILED exception.
- If the class is u2018Au2019, it skips this check.
We have an option of changing the class of batch job to A but there are some system critical jobs that are running as class A.
My question is:
In the code, JOB_CLOSE has been called for scheduling the job A/P_ACCOUNTS with parameter start immediately. Can anyone please let me know what will happen if function JOB_CLOSE is not called with start immediately option? Will the batch job A/P_ACCOUNTS wait till the time work processes are available?
Or, can anything else be done to solve the issue?
Regards,
SiddharthHI,
This is my experience with job_close..
when i was working in zprograms then i was able to scedule it any time i wanted..
but in my standard program when i tried it didn't worked....
so i have to use that option of starting it immediately..
and then it is working fine..
now if i schedule 5 jobs... one after another..
its get queued up...and once the processor is free...its working..
my code of job close
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = job_count
jobname = job_name
strtimmed = yes " yes = 'X'
IMPORTING
job_was_released = job_released
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
invalid_target = 8
OTHERS = 9.
regards,
Yadesh -
Faxing of SAPScript throwing exception
Dear All,
I am facing problem while sending Sales Order output through FAX. It is throwing exception in OPEN_FORM function module as FAX_NOT_VALID. I debugged and found that actually system is failing FM SX_NUMBER_TO_DEVTYPE which in turn showing that the exception has occured due to Node not found. Is it a configuaration issue? I tried to configure through SPRO but could not find any relevent place. Looking for your valuable suggestion.
Any suggestion!
Thanks and regards,
AtanuMake sure are you entering the correct fax number in the recepient.
Go to transaction SBWP - > create new message and try to send it as FAX. It you are not able to send fax via Business workplace then it implies that some setting is required form the BASIS.
Otherwise the parameters passed to the OPEN_FORM needs to be investigated. -
Hi All,
I am reading notepads files and inserting data in sql tables from the notepad-
while performing sql bulk copy on this line it throws exception - "bulkcopy.WriteToServer(dt); -"data type related(mentioned in subject )".
Please go through my logic and tell me what to change to avoid this error -
public void Main()
Dts.TaskResult = (int)ScriptResults.Success;
string[] filePaths = Directory.GetFiles(@"C:\Users\jainruc\Desktop\Sudhanshu\master_db\Archive\test\content_insert\");
for (int k = 0; k < filePaths.Length; k++)
string[] lines = System.IO.File.ReadAllLines(filePaths[k]);
//table name needs to extract after = sign
string[] pathArr = filePaths[0].Split('\\');
string tablename = pathArr[9].Split('.')[0];
DataTable dt = new DataTable(tablename);
|
string[] arrColumns = lines[1].Split(new char[] { '|' });
foreach (string col in arrColumns)
dt.Columns.Add(col);
for (int i = 2; i < lines.Length; i++)
string[] columnsvals = lines[i].Split(new char[] { '|' });
DataRow dr = dt.NewRow();
for (int j = 0; j < columnsvals.Length; j++)
//Console.Write(columnsvals[j]);
if (string.IsNullOrEmpty(columnsvals[j]))
dr[j] = DBNull.Value;
else
dr[j] = columnsvals[j];
dt.Rows.Add(dr);
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=UI3DATS009X;" + "Initial Catalog=BHI_CSP_DB;" + "User Id=sa;" + "Password=3pp$erv1ce$4";
conn.Open();
SqlBulkCopy bulkcopy = new SqlBulkCopy(conn);
bulkcopy.DestinationTableName = dt.TableName;
bulkcopy.WriteToServer(dt);
conn.Close();
Issue 1:-
I am reading notepad: getting all column and values in my data table now while inserting for date and time or integer field i need to do explicit conversion how to write for specific column before bulkcopy.WriteToServer(dt);
Issue 2:- Notepad does not contains all columns nor in specific sequence in that case i can add few column ehich i am doing now but the issue is now data table will add my columns + notepad columns and while inserting how to assign in perticular colums?
sudhanshu sharma Do good and cast it into river :)Hi,
I think you'll have to do an explicit column mapping if they are not in exact sequence in both source and destination.
Have a look at this link:
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopycolumnmapping(v=vs.110).aspx
Good Luck!
Kaur.
Please mark as answer if this resolves your issue. -
How to throw exception in run() method of Runnable?
Hi, everyone:
I want to know how to throw exception in run() method of interface Runnable. Since there is no throwable exception declared in run() method of interface Runnable in Java API specification.
Thanks in advance,
GeorgeThanks, jfbriere.
I must add though that if your run() methodis
executed after a call to Thread.start(), then
it is not a good choice to throw anyRuntimeException
from the run() method.
The reason is that the thrown exception won't be
handled appropriately by a try-catch block.Why do you say that "the thrown exception won't be
handled appropriately by a try-catch block"? Can you
explain it in more detail?
regards,
George
Because the other thread runs concurrently with and independently of the parent thread, there's no way you can write a try/catch that will handle the new thread's exception: try {
myThread.start();
catch (TheExceptionYouWantToThrowFromRun exc) {
handle it
do the next thing This won't work because the parent thread just continues on after myThread.start(). Start() doesn't throw the exception--run() does. And our parent thread here has lost touch with the child thread--it just moves on to "do the next thing."
Now, you can do some exception handling with ThreadGroup and uncaughtException(), but make sure you understand why the above won't work, in case that was what you were planning to do. -
PDFLPrintDoc function throw exception on Mac in PDF Lib 10
Hi,
Currently I'm doing the work of upgrading a xcode project on Mac from PDF lib from 8.1 to 10.
After change to use PDF lib 10 framework, and build project, I found it throw an exception when calling function PDFLPrintDoc to print PS type, error message saying An internal error occured.
However, on Win platform, it is ok.
I read from release note that since PDF lib 9,
PDFLPrintDoc() honors only default values for tilingMode (kPDNoTiling)
In the previous code, the flattenInfo variable in PDPrintParams is a null porinter, so I manuall add code to set PDFlattenTilingMode to be kPDNoTiling.
But the problem is, now when running ,it still throw exception saying "An internal error occured" , nothing changed.
Has anybody here encountered such problem?
Please give me an answer, thanks~Since this is PDFL, you have a license from either Adobe or Datalogics. Please contact their support directly.
-
Programmatically adding chart to a report throws exception
programmatically adding chart to a report throws exception "chart condition fields are not valid".
Configuration:
I am using CR4E to create web application, I've added RAS jars (rasapp.jar, rascore.jar, reporttemplate.jar, serialization.jar) to this web application. For designing reports i am using Crystal Reports 2008.
Code:
<%
// Get the previously opened report from the session.
ReportClientDocument reportClientDocument =
(ReportClientDocument)session.getAttribute("ReportClientDocument");
System.out.println(reportClientDocument.getReportDocument().getName());
// Try to get the report's DataDefinition object.
IDataDefinition dataDefinition;
try
dataDefinition = reportClientDocument.getDataDefController().getDataDefinition();
// If the DataDefinition object can not be retrieved, redirect the user to an error page.
catch (Exception e)
System.out.println("With error1");
return;
// Create a new ChartDefinition object and set its type to ChartType.group.
ChartDefinition chartDefinition = new ChartDefinition();
chartDefinition.setChartType(ChartType.group);
Get the conditional field of the report's first group. Set this conditional
field for the ChartDefinition object using the setConditonalFields method. Notice
that the conditional field is first placed in a Fields collection because the
setConditionalFields method takes a Fields object as an argument.
Fields conditionFields = new Fields();
if (!dataDefinition.getGroups().isEmpty())
IField field = dataDefinition.getGroups().getGroup(0).getConditionField();
System.out.println("Condition field name ->" + field.getLongName(Locale.ENGLISH));
conditionFields.addElement(field);
chartDefinition.setConditionFields(conditionFields);
//Get the summary field name from the form on the previous page.
String summaryFieldName = URLDecoder.decode(request.getParameter("summaryField"));
System.out.println("Summary field name ->" + summaryFieldName);
Loop through all of the report's summary fields until the one matching the name
above is found. Set this summary field for the ChartDefinition object using the
setDataFields method. Notice that the summary field is first placed in a Fields
collection because the setDataFields method takes a Fields object as an argument.
Fields dataFields = new Fields();
for (int i = 0; i < dataDefinition.getSummaryFields().size(); i++)
IField summaryField = dataDefinition.getSummaryFields().getField(i);
if (summaryField.getLongName(Locale.ENGLISH).equals(summaryFieldName))
System.out.println("Adding data field ->" + summaryFieldName);
dataFields.addElement(summaryField);
chartDefinition.setDataFields(dataFields);
Create a new ChartObject to represent the chart that will be added. Set the
ChartDefinition property of the ChartObject using the ChartDefinition object created
above.
ChartObject chartObject = new ChartObject();
chartObject.setChartDefinition(chartDefinition);
Get the chart type, chart placement, and chart title strings from the form on the
previous page. If no chart title was chosen, create a generic title.
String chartTypeString = request.getParameter("type");
String chartPlacementString = request.getParameter("placement");
String chartTitle = request.getParameter("title");
System.out.println("chartTypeString ->"+ chartTypeString + "<-chartPlacementString->" + chartPlacementString + "<-chartTitle->"+chartTitle);
if (chartTitle.equals(""))
chartTitle = "untitled";
Create a ChartStyleType object and a AreaSectionKind object based on the
the chartTypeString and chartPlacementString retrieved above. In this example
possible chart types are bar chart and pie chart. Possible chart placements
are header and footer.
ChartStyleType chartStyleType = ChartStyleType.from_string(chartTypeString);
AreaSectionKind chartPlacement = AreaSectionKind.from_string(chartPlacementString);
// Set the chart type, chart placement, and chart title for the chart.
chartObject.getChartStyle().setType(chartStyleType);
chartObject.setChartReportArea(chartPlacement);
chartObject.getChartStyle().getTextOptions().setTitle(chartTitle);
// Set the width, height, and top for the chart.
chartObject.setHeight(5000);
chartObject.setWidth(5000);
chartObject.setTop(1000);
Get a ReportDefController object that can be used to modify the report's definition.
ReportDefController reportDefController;
try
reportDefController = reportClientDocument.getReportDefController();
catch (Exception e)
System.out.println("With Error2");
return;
*Create a Section object that represents the section that will hold the chart.
If the chart placement was set header, get the header section, otherwise, if the
chart placement was set to footer, get the footer section.
Section chartSection = null;
if (chartPlacement.equals(AreaSectionKind.reportHeader))
IArea reportHeaderArea =
reportDefController.getReportDefinition().getReportHeaderArea();
chartSection = (Section)reportHeaderArea.getSections().getSection(0);
else if (chartPlacement.equals(AreaSectionKind.reportFooter))
IArea reportFooterArea =
reportDefController.getReportDefinition().getReportFooterArea();
chartSection = (Section)reportFooterArea.getSections().getSection(0);
Add the chart to the section using the ReportDefController object.
reportDefController.getReportObjectController().add(chartObject, chartSection, 1);
// Save the changes and close the report.
reportClientDocument.save();
reportClientDocument.close();
session.removeAttribute("ReportClientDocument");
%>
Trace:
com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException: The chart condition fields are not valid.---- Error code:-2147213287 Error code name:invalidChartObject
at com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException.throwReportDefControllerException(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.add(Unknown Source)
at org.apache.jsp.AddChart_jsp._jspService(AddChart_jsp.java:230)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)Please try this code snippet
var cs:ColumnSeries = new ColumnSeries();
cs.dataProvider = dp;
cs.displayName = "Series 2";
cs.yField = "values";
chart.series.push(cs);
OR
var temp:Array = [];
var cs:ColumnSeries = new ColumnSeries();
cs.dataProvider = dp;
cs.displayName = "Series 2";
cs.yField = "values";
temp = chart.series;
temp.add(cs);
chart.series = temp; -
Custom XSLT Functions Throw Exception
Hi,
I have following requirement-
1. I have defined and configured some custom XSLT functions in Jdev and BPEL, which throw exception in case of an error.
2. Now I want to catch that exception in my BPEL process
3. In My BPEL process I have defined transformation step ( which is using those Custom XSLT functions) in a scope and added a catch branch to that
4. But even XSLT java function throw an exception , it is not being catch by catch branch.
Could you please help me regarding this and tell me any other way to catch an exception in BPEL process thrown by Custom XSLT function within transformation step?
Thanks.Hi,
Its the problem with the date. In the configuration file i used dateTime for java.util.Date, because of this i cant see "User Defined" option in Jdeveloper component pallete. I checked at XML data types i had seen dateTime for java.util.Date Class, but its not working.
Do anyone created a custom xslt function which has date as parameter or return type?, If so wht they had used as data type for xml and java.
Thanks,
RR
Maybe you are looking for
-
Adding hibernation support to Ubuntu grub.cfg file
Hi everyone, I have a triple boot system being configured here (Win7, Ubuntu and Arch). I keep Win7 around because I have to deal with some MS Office files that sometimes won't work well in LibreOffice etc. Ubuntu is, now, my stable linux distro, and
-
Help for Receiving Transaction Processor (RTP)
Hi All, Before running the RTP, we are not populating the po_unit_price in rcv_transactions_interface table. As per our understanding, it should pick up the value from PO created for this price. But after running the RTP, we are able to see that the
-
Trip to Spain. Can iPad work on Spanish wifi? Will I be able to check US email accounts a will there be any special charge? Do I need to take a special charger? Thanks.
-
Is there any way to change the shape of video in Final Cut?
I bought FCP X recently, and I'm trying to change the shape of my video to make all the video oval. Is there anyway to do this? Please help, I need to get this done for a school project really soon! Thanks, Jack.
-
I was given aused HP G60, do not have OWNER password. Any way to open?
Is there a way to re-set the OWNER password on an HP G60 notebook? It was given to me, but mostly locked up????