For oracle cursor and stored procedure.
Hi,
I wanted to call a PL/SQL function that opens a cursor and gets a cursor
back as a Java result set.Actually there is a readymade program in
http://www.oradoc.com/ora816/java.816/a81354/samapp5.htm#1016411
in the name RefCursorExample.java
Now what I wanted to know is in weblogic how to do that.
For example I would like you to help me to give the weblogic equivalent of a
single line in that program.
call.registerOutParameter(1, OracleTypes.CURSOR);
Instead of OracleTypes.CURSOR...what should I write for weblogic JDriver for
oracle.
Please refer to my program in the attachment. FYI weblogic is already
running when I execute the program and it creates oracle connection pools.
Please also look at the exceptions it throws below.
Exceptions are
Exception java.sql.SQLException: ORA-06550: line 1, column 15:
PLS-00382: expression is of wrong type
ORA-06550: line 1, column 9:
PL/SQL: Statement ignored
java.sql.SQLException: ORA-06550: line 1, column 15:
PLS-00382: expression is of wrong type
ORA-06550: line 1, column 9:
PL/SQL: Statement ignored
at
weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.j
ava:76)
at
weblogic.jdbc20.rmi.internal.WLStub2z3m13133166452s5z42a5c4u4a3b1v.ex
ecute(WLStub2z3m13133166452s5z42a5c4u4a3b1v.java:415)
at
weblogic.jdbc20.rmi.internal.CallableStatementStub.execute(CallableSt
atementStub.java:454)
at
weblogic.jdbc20.rmi.SerialPreparedStatement.execute(SerialPreparedSta
tement.java:401)
at OracleDataSource.main(OracleDataSource.java:49)
I would be great if you can help me out.
Sincerely,
Praveen.C
[OracleDataSource.java]
Also, see this KBA.
And KBA 1525432
- Ludek
Senior Support Engineer AGS Product Support, Global Support Center Canada
Follow us on Twitter
Similar Messages
-
Oracle 8i and stored procedures
Hi I was hoping someone could point me to the right direction here.
I have been using SQL server before and often use stored procedures. I understand that if you want to use stored procedures you will use the CallableStatement object and the prepareCall method of the Connection object like so:
let's say my stored proc has 2 number parameters:
CallableStatement cs = con.prepareCall( " { call <stored_proc_name> (?, ?) } );
cs.getString(1, 1);
cs.getString(2, 2);
ResultSet rs = cs.executeQuery( );
where con is my connection object that i used to connect to my database. So far am I right with the following code?
But my problem is I have to use Oracle 8i. So what is the equivalent of SQL server stored procs in Oracle? Is it functions? Procedures? Or Java Stored Procedures? I have been reading all these sites and the forums for ideas but still haev no clue what approach I should take
I have managed to connect to my db using the thin drivers and have successfully passed SQL statements. Although, I don't want to pass SQL statements, I want to use stored procedures. With SQL server I would create all my stored procedures and use my beans to call these stored procedures. So as a new user of Oracle 8i coming form SQL server, what approach do I use and how?
Thanks in advance for all the help!Alright well looks like I'm stuck now.
This seems more like a PL\SQL question though. If I want to return 2 or more values do I use function or a procedure? here's the code I made:
CREATE OR REPLACE FUNCTION sign_in(username VARCHAR(20), userpassword VARCHAR(20))
RETURN NUMBER IS id_num NUMBER, user_type VARCHAR(1);
BEGIN
SELECT * INTO id_num, user_type
FROM ID_MASTER idm, PERSON prs
WHERE USERNAME = username
AND USER_PASSWORD = userpassword
AND idm.ID_NUM = prs.ID_NUM;
RETURN id_num, user_type;
END;
now according to Oracle this is an invalid function. But the error message doesn't say much. Basically I want to pass 2 parameters to use for a query and return 2 variables from the result of the query. Am I suppose to use a procedure?
If I pass paramters do which string do I use to prepareCall: "{ ? = CALL sign_in (?, ?) }" or do I use the "{ CALL sign_in (?, ?) }"
But my problem right now is how to make the proper stored procedure. I'd be very much obliged to anyone who can give a sample. Thank you all for your time! -
Oracle lite and Stored Procedures
Hi, I have just installed Oracle lite, connected to Polite and created dropped tables etc. I notice that in Navigator there is no folder for stored procedures or triggers. I tried to compile a syntacally correct proc in SQL plus and it generated this error: Create or Replace Procedure SCORECARD.Gen_Fiscal_Year_Data AS
ERROR at line 1:
OCA-30021: error preparing/executing SQL statement
[POL-5228] syntax error.
Does this mean that stored procs are not supported in Oracle lite?
Thanks, Paul
nullOracle Lite database does not support the usual stored procedures/triggers like an Oracle database. You have to use java classes to create triggers/stored procedures to run them in Oracle Lite database. You can refer the documentation on Oracle 8i Lite for samples/detailed information.
-
Does Oracle have Extended Stored Procedure like SQL Server and Sybase?
Hi, i am new to Oracle. I want to know if...
Does Oracle have Extended Stored Procedure like SQL Server and Sybase?
If it does not have, then how can i call outside program written in C or JAVA from the Database stored procedure or trigger?refer to this link on external procedures
http://download-west.oracle.com/docs/cd/A87860_01/doc/server.817/a76956/manproc.htm#11064 -
Database updation using XML and stored Procedure?
Hello,
I want to perform updation in multiple tables using XML files.Please suggest can I do updation using xml and stored procedure.
If yes then which is more efficient and takes less time.
1.Updation using xml files only
2.Updation using xml files with stored procedure.
3.Stored procedure alone.
If direct xml and stored procedure communication is possible.then please write how.
Thanks in advance for any help.Here's a sample. The next code drop of the XSQL Servlet will make the easy-to-do from within XSQL Pages:
package package1;
import org.w3c.dom.*;
import java.sql.*;
import oracle.jdbc.driver.*;
import oracle.xml.sql.query.OracleXMLQuery;
public class Class1 extends Object {
public static void main( String[] arg ) throws Exception {
Connection conn = getConnection();
CallableStatement ocs = conn.prepareCall("begin ? := App.HotItems('PAUL'); end;");
ocs.registerOutParameter(1,OracleTypes.CURSOR);
ocs.execute();
ResultSet rs = ((OracleCallableStatement)ocs).getCursor(1);
OracleXMLQuery oxq = new OracleXMLQuery(conn,rs);
System.out.println(oxq.getXMLString());
oxq.close();
rs.close();
ocs.close();
conn.close();
public static Connection getConnection() throws Exception {
String username = "scott";
String password = "tiger";
String dburl = "jdbc:oracle:thin:@localhost:1521:xml";
String driverClass = "oracle.jdbc.driver.OracleDriver";
Driver d = (Driver)Class.forName(driverClass).newInstance();
return DriverManager.getConnection(dburl,username,password);
null -
Returning SQL cursor from Stored Procedure
Hi,
I have a query regarding returning sql cursor from stored procedure to java in oracle 11g.
I want to query some data ex: my query returns A, B, C. Also, now I want to query some other data ex: D, E, F. Now I want to return this data as an sql cursor as a single row . Example: A,B,C,D,E,F. Is it possible to return/create a cursor in stored procedure?
assume both query returns equal number of rows.. however both are not related to each other..RP wrote:
Hi,
I have a query regarding returning sql cursor from stored procedure to java in oracle 11g.
I want to query some data ex: my query returns A, B, C. Also, now I want to query some other data ex: D, E, F. Now I want to return this data as an sql cursor as a single row . Example: A,B,C,D,E,F. Is it possible to return/create a cursor in stored procedure?
assume both query returns equal number of rows.. however both are not related to each other..It sounds like what you need is a ref cursor.
First thing to remember though is that cursors do not hold any data (see: {thread:id=886365})
In it's simplest form you would be creating a procedure along these lines...
SQL> create or replace procedure get_data(p_sql in varchar2, p_rc out sys_refcursor) is
2 begin
3 open p_rc for p_sql;
4 end;
5 /
Procedure created.
SQL> var rc refcursor;
SQL> exec get_data('select empno, ename, deptno from emp', :rc);
PL/SQL procedure successfully completed.
SQL> print rc;
EMPNO ENAME DEPTNO
7369 SMITH 20
7499 ALLEN 30
7521 WARD 30
7566 JONES 20
7654 MARTIN 30
7698 BLAKE 30
7782 CLARK 10
7788 SCOTT 20
7839 KING 10
7844 TURNER 30
7876 ADAMS 20
7900 JAMES 30
7902 FORD 20
7934 MILLER 10
14 rows selected.
SQL> exec get_data('select deptno, dname from dept', :rc);
PL/SQL procedure successfully completed.
SQL> print rc
DEPTNO DNAME
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
50 IT SUPPORTWhich takes an SQL statement (as you said that both your queries were unrelated), and returns a ref cursor, and then your Java code would fetch the data using that cursor.
Now, as for getting your rows to columns and combining two queries that do that... something along these lines...
SQL> select * from x;
C
A
B
C
SQL> select * from y;
C
D
E
F
SQL> ed
Wrote file afiedt.buf
1 select x.col1, x.col2, x.col3
2 ,y.col1 as col4
3 ,y.col2 as col5
4 ,y.col3 as col6
5 from (
6 select max(decode(rn,1,col1)) as col1
7 ,max(decode(rn,2,col1)) as col2
8 ,max(decode(rn,3,col1)) as col3
9 from (select col1, rownum rn from (select * from x order by col1))
10 ) x
11 cross join
12 (
13 select max(decode(rn,1,col1)) as col1
14 ,max(decode(rn,2,col1)) as col2
15 ,max(decode(rn,3,col1)) as col3
16 from (select col1, rownum rn from (select * from y order by col1))
17* ) y
SQL> /
C C C C C C
A B C D E F... will do what you ask. For further information about turning rows to columns read the FAQ: {message:id=9360005} -
Is there any impact analysis tool for Oracle Forms and Reports
Hi All
We are curretly looking at tools available to do impact analysis in Oracle Forms and Reports. This is for the maintainance of a large Oracle application developed using forms and reports 10g. We use Oracle Designer but only to maintain the db structure and not for forms and reports generation. Our intension is to find out the impact of db model changes, stored procedure changes in Oracle Forms and Reports. Please suggest any tools that are currently used for this purpose.
I remember manually maintaining the CRUD matrix for Oracle Forms and Reports for maintainance purpose. CRUD matrix will have the list of all the tables which are affected by the module. But this is a manual activity and hence the responsibility is with the dev team to keep the document updated. Please suggest if there is any alternative to this way which can be more effecient and less error prone...
I also wonder how these are done in Oracle ERP? how the apps team in oracle is maintaining the forms and reports?
Thnaks in Advance
Mahesh MathewQuest (the makers of TOAD) have a tool called SQL Impact which gathers data from forms, reports, triggers, packages etc.
FormsMate is a simple, cheap alternative for comparing or searching in forms.
http://www.jockvale.ca/products.html
Alternatively, you can export forms to xml (with iff2xml90.bat) and reports to jsp (with rwconverter) and simply grep those and your sql scripts. There are grep tools for windows if you need. -
I select the shared datasource from the data source propeties dialog, test the connection and everything is good.
I add a dataset by selecting "use a dataset embedded in my report" option within the Dataset properties dialog.
I select the newly added data source, click the "Stored procedure" query type and drop down the list box and select my intended stored procedure.
the timeout for the dataset is "0" seconds.
I click the "OK" button and I'm presented with the parameters to the stored procedure.
I enter valid data for the parameters and click the "OK" button.
I then get the following error message after 30 seconds:
The problem is, all of the timeouts, that I'm aware of, have values of zero (no timeout) or high enough values that 30 seconds isn't even close to the timeout.
I think the smallest timeout we have is 120 seconds.
I have searched this site and many others and the solutions all involve altering the stored procedure to get the fields into report builder and then revert the stored procedure back to its original form.
To me, this is NOT a solution.
I have too many stored procedures that need to be brought into Report Builder.
I need a real solution.
Thank you for you time, Tim Caldwell.
Timothy E CaldwellI don't mean to be rude, but really, check to see if the stored procedure can return data rows???
Maybe I'm not being clear enough.
The stored procedure runs perfectly fine.
it runs perfectly fine in the production environment and the test environment.
I can access the stored procedure in several ways and have it return correct data.
I can even trick report builder into creating a dataset with parameters and run the stored procedure that way.
What I cannot do, is to get report builder to not timeout after 30 seconds on the initial creation of a dataset with a Query type of stored procedure.
I have seen this issues posted again and again and again on may different sites and the "solution" is to simplifiy the stored procedure by creating a stored procedure that has a create table and a select in the stored procedure and that's it. After
report builder creates the dataset the developer then has to replace the simplified stored procedure with the actual stored procedure and everything works fine after that.
HOWEVER, having to go through this process for 70 or more stored procedures is ridiculous.
It would appear that there is something within report builder itself that is causing this issue.
The SQL Script included is an example of a stored procedure that will not create fields create a dataset with fields and parameters in Report Builder 3.0:
USE [CRUM_IT]
GO
/****** Object: StoredProcedure [dbo].[COGNOS_Level5ScriptSP] Script Date: 11/17/2014 08:02:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[COGNOS_Level5ScriptSP]
@CompanyCode varchar(8) = null,
@GetSiblings varchar(1) = 'N'
as
Begin
-- get emergency contact info
select *
into #tmp_Contacts
from
(select
ConEEID,
con.connamelast as [Emer Contact Last Name],
con.connamefirst as [Emer Contact First Name],
con.connamemiddle as [Emer Contact Middle Initial/Name]--,
,ROW_NUMBER() over (Partition by ConEEID order by ConNameLast)as rn
,ISNULL(
case when con.conphonepreferred = 'H'
then '(' + substring(con.conphonehomenumber, 1, 3) + ')' + substring(con.conphonehomenumber, 4, 3) + '-' + substring(con.conphonehomenumber, 7, 4)
else '(' + substring(con.conphoneothernumber , 1, 3) + ')' + substring(con.conphoneothernumber , 4, 3) + '-' + substring(con.conphoneothernumber , 7, 4)
end,
) as [Emergency Phone]
from [ultiprosqlprod1].[ultipro_crum].dbo.Contacts con
where con.ConIsEmergencyContact='y'
and con.ConIsActive='y'
) A
where A.rn = 1
CREATE TABLE #tmp_CompanyCodes (CompanyCode varchar(8))
If @GetSiblings = 'Y'
Begin
INSERT INTO #tmp_CompanyCodes (CompanyCode)
EXEC [z_GetClientNumbers_For_ParentOrg_By_ClientNumber] @CompanyCode
End
INSERT INTO #tmp_CompanyCodes
values (@CompanyCode)
select *
into #tmp_Company
from [ultiprosqlprod1].[ultipro_crum].dbo.Company
where cmpcompanycode in (select CompanyCode from #tmp_CompanyCodes)
select distinct
cmpcompanycode as [Client ID],
CmpCompanyDBAName as [Client Name],
eec.eecEmplStatus AS [Employment Status],
eec.eecEmpNo AS [Employee Num],
rtrim(eep.eepNameLast) AS [Last Name],
rtrim(eep.eepNameFirst) AS [First Name],
isnull(rtrim(ltrim(eep.eepNameMiddle)), '') AS [Middle Initial/Name],
rtrim(eep.eepAddressLine1) AS [Address Line 1],
isnull(rtrim(eep.eepAddressLine2), '') AS [Address Line 2],
eep.eepAddressCity AS [City],
eep.eepAddressState AS [State],
CASE
WHEN len(eep.eepAddressZipCode) > 5 and charindex(eep.eepAddressZipCode, '-', 1) = 0
THEN substring(eep.eepAddressZipCode, 1, 5)
ELSE rtrim(eep.eepAddressZipCode)
END AS [Zip code],
CASE
WHEN len(eep.eepAddressZipCode) > 5 and charindex(eep.eepAddressZipCode, '-', 1) = 0
THEN substring(eep.eepAddressZipCode, 6, 4)
WHEN len(eep.eepAddressZipCode) > 5 and charindex(eep.eepAddressZipCode, '-', 1) > 0
THEN substring(eep.eepAddressZipCode, charindex(eep.eepAddressZipCode, '-', 1) + 1, 4)
WHEN len(eep.eepAddressZipCode) <= 5
THEN ''
END AS [ZIP + 4],
substring(eep.eepSSN, 1, 3) + '-' + substring(eep.eepSSN, 4, 2) + '-' + substring(eep.eepSSN, 6, 4) AS [SSN],
isnull(convert(VARCHAR(10), eep.eepDateOfBirth, 101), '') AS [Date Of Birth],
eetFED.TAXCODE AS [FED Tax Code],
eetFED.FILINGSTATUS AS [Fed Filing Status],
eetFED.EXEMPTIONS AS [Fed Exemption Allowance],
eetFED.ADDITIONAL AS [Additional Fed Withholding],
eetSIT.TAXCODE AS [SIT Tax Code],
eetSIT.FILINGSTATUS AS [State Filing Status],
eetSIT.EXEMPTIONS AS [State Exemption Allowance],
eetSIT.ADDITIONAL AS [Additional State Withholding],
isnull('(' + substring(eep.eepPhoneHomeNumber, 1, 3) + ')' + substring(eep.eepPhoneHomeNumber, 4, 3) + '-' + substring(eep.eepPhoneHomeNumber, 7, 4), '') AS [Home Phone],
isnull((SELECT cod.codDesc
FROM [ultiprosqlprod1].[ultipro_crum].dbo.Codes cod WITH (NOLOCK)
WHERE cod.codCode = eep.eepEthnicID
AND cod.codDosTable = 'ETHNICCODE'), '') AS [Race-Origin], --eep.eepEthnicID AS [Race-Origin],
eep.eepGender AS [Gender],
isnull(convert(VARCHAR(10), eec.eecDateOfOriginalHire, 101), '') AS [Original Hire Date],
isnull(convert(VARCHAR(10), eec.eecDateOfSeniority, 101), '') AS [Seniority Date],
isnull(convert(VARCHAR(10), eec.eecDateOfTermination, 101), '') AS [Termination Date],
isnull(eecTermType,'') as [Termination Type],
isnull(TchDesc, '') as [Termination Reason],
rtrim(eec.eecJobCode) AS [WC Code],
isnull(eec.eecJobTitle, '') AS [Job Title],
pgr.pgrPayFrequency AS [Pay Frequency],
eec.eecFullTimeOrPartTime AS [Full/Part Time],
eec.eecSalaryOrHourly AS [Pay Type],
isnull(convert(MONEY, eec.eecHourlyPayRate), 0.00) AS [Hourly Rate],
isnull(eec.eecAnnSalary, 0.00) AS [Annual Salary],
[YTD Hours],
isnull(eep.eepNameFormer, '') AS [Maiden Name],
eec.eecLocation AS [Location ID],
rtrim(eec.eecOrgLvl1) AS [Department ID],
eec.eecorglvl2 AS [Cost Item],
eec.eecorglvl3 as [Client Project],
eec.eecPayGroup as [Pay Group],
isnull(eepAddressEMail,' ') as [Email Address],
isNull(BankName1,' ') as PrimaryBank,
isNull(BankRoute1,' ') as PrimaryRouteNum,
isNull(Account1,' ') as PrimaryAccount,
isNull(AcctType1,' ') as PrimaryAcctType,
isNull(DepositRule1,' ') as PrimaryDepositRule,
isNull(BankName2,' ') as SecondaryBank,
isNull(BankRoute2,' ') as SecondaryRouteNum,
isNull(Account2,' ') as SecondaryAccount,
isNull(AcctType2,' ') as SecondaryAcctType,
isNull(DepositRule2,' ') as SecondaryDepositRule,
isNull(
CASE
WHEN DepositRule2 = 'D'
THEN '$' + convert(varchar, cast(EddAmtOrPct2 AS decimal(10,2)))
WHEN DepositRule2 = 'P'
THEN convert(varchar, cast((EddAmtOrPct2*100) AS decimal(10,0))) + '%'
ELSE null
END,' ') as SecondaryDepositAmount,
isNull(BankName3,' ') as ThirdBank,
isNull(BankRoute3,' ') as ThirdRouteNum,
isNull(Account3,' ') as ThirdAccount,
isNull(AcctType3,' ') as ThirdAcctType,
isNull(DepositRule3,' ') as ThirdDepositRule,
isNull(
CASE
WHEN DepositRule3 = 'D'
THEN '$' + convert(varchar, cast(EddAmtOrPct3 AS decimal(10,2)))
WHEN DepositRule3 = 'P'
THEN convert(varchar, cast((EddAmtOrPct3*100) AS decimal(10,0))) + '%'
ELSE null
END,' ') as ThirdDepositAmount,
Supervisor,
eec.eecEEID AS [Employee EEID],
eec.EecJobCode As [Job Code],
isnull(eec.EecTimeclockID,' ') As [Time Clock ID],
con.[Emer Contact Last Name],
con.[Emer Contact First Name],
con.[Emer Contact Middle Initial/Name],
con.[Emergency Phone]
from [ultiprosqlprod1].[ultipro_crum].dbo.empPers eep WITH (NOLOCK)
inner join [ultiprosqlprod1].[ultipro_crum].dbo.empComp eec WITH (NOLOCK)
ON eep.eepEEID = eec.eecEEID
inner join #tmp_Company cmp WITH (NOLOCK)
ON eec.eecCOID = cmp.cmpCOID
inner join [ultiprosqlprod1].[ultipro_crum].dbo.PayGroup pgr WITH (NOLOCK)
ON eec.eecPayGroup = pgr.pgrPayGroup
left outer join [ultiprosqlprod1].[ultipro_crum].dbo.TrmReasn
on tchCode = eecTermReason
left join (select CAST(sum(isnull(eee.eeeYTDHrs,0.00))AS DECIMAL(18,2)) as [YTD Hours],
eeeEEID,
eeeCOID
from [ultiprosqlprod1].[ultipro_crum].dbo.EmpEarn eee with (NOLOCK)
group by eeeCOID,eeeEEID)eee
on eec.eecEEID = eee.eeeEEID
and eec.eecCOID = eee.eeeCOID
left join (SELECT eetCOID AS COID,
eetEEID AS EEID,
eetTaxCode AS TAXCODE,
eetFilingStatus AS FILINGSTATUS,
eetExemptions AS EXEMPTIONS,
eetExtraTaxDollars AS ADDITIONAL
FROM [ultiprosqlprod1].[ultipro_crum].dbo.empTax WITH (NOLOCK)
WHERE eetTaxCode = 'USFIT'
)eetFED
ON eec.eecCOID = eetFED.COID
and eec.eecEEID = eetFED.EEID
left join (SELECT eetCOID AS COID,
eetEEID AS EEID,
eetTaxCode AS TAXCODE,
eetFilingStatus AS FILINGSTATUS,
eetExemptions AS EXEMPTIONS,
eetExtraTaxDollars AS ADDITIONAL
FROM [ultiprosqlprod1].[ultipro_crum].dbo.empTax WITH (NOLOCK)
WHERE eetTaxCode like '%SIT'
AND eetIsWorkInTaxCode = 'Y'
)eetSIT
ON eec.eecCOID = eetSIT.COID
and eec.eecEEID = eetSIT.EEID
left outer join (SELECT eddCOID,
eddEEID,
eddEEBankName BankName1,
eddEEBankRoute BankRoute1,
eddAcct Account1,
EddAcctType AcctType1,
EddDepositRule DepositRule1,
EddAmtOrPct EddAmtOrPct1
FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpDirDp WITH (NOLOCK)
WHERE eddSequence = '99')edd
ON eec.eecCOID = edd.eddCOID
and eec.eecEEID = edd.eddEEID
left outer join (SELECT eddCOID,
eddEEID,
eddEEBankName BankName2,
eddEEBankRoute BankRoute2,
eddAcct Account2,
EddAcctType AcctType2,
EddDepositRule DepositRule2,
EddAmtOrPct EddAmtOrPct2
FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpDirDp WITH (NOLOCK)
WHERE eddSequence = '01')edd2
ON eec.eecCOID = edd2.eddCOID
and eec.eecEEID = edd2.eddEEID
left outer join (SELECT eddCOID,
eddEEID,
eddEEBankName BankName3,
eddEEBankRoute BankRoute3,
eddAcct Account3,
EddAcctType AcctType3,
EddDepositRule DepositRule3,
EddAmtOrPct EddAmtOrPct3
FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpDirDp WITH (NOLOCK)
WHERE eddSequence = '02')edd3
ON eec.eecCOID = edd3.eddCOID
and eec.eecEEID = edd3.eddEEID
left outer join (SELECT eecCOID,
eecEEID,
rtrim(eepNameLast) + ', ' +
rtrim(eepNameFirst) + ' ' +
isnull(rtrim(ltrim(eepNameMiddle)), '') AS [Supervisor]
FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpComp WITH (NOLOCK)
join [ultiprosqlprod1].[ultipro_crum].dbo.EmpPers with (NoLock)
on eeceeid = eepeeid)eec2
ON eec.eecSupervisorID = eec2.eecEEID
left outer join #tmp_Contacts con
on eep.eepEEID = con.ConEEID
order by [Client ID],
[Last Name],
[First Name]
drop table #tmp_Contacts
END
Timothy E Caldwell -
DAC task with Informatica mapping and stored procedure (very slow)
Hello,
We have a DAC task that launch an Informatica Workflow with a simple query and stored procedure, like this:
SQL QUERY
==========================
SELECT
W_ACTIVITY_F.ROW_WID,
W_AGREE_D.AGREE_NUM,
W_PRODUCT_D.ATTRIB_51,
W_SRVREQ_D.ATTRIB_05,
W_ORG_DH.TOP_LVL_NAME,
W_ORG_D.ATTRIB_06,
W_PRODUCT_GROUPS_D.PRODUCT_LINE,
W_PRODUCT_D.PROD_NAME
FROM
W_AGREE_D,
W_SRVREQ_F,
W_ACTIVITY_F,
W_PRODUCT_D LEFT OUTER JOIN W_PRODUCT_GROUPS_D ON W_PRODUCT_D.PR_PROD_LN = W_PRODUCT_GROUPS_D.PRODUCT_LINE,
W_ORG_D,
W_SRVREQ_D,
W_ORG_DH
WHERE
W_SRVREQ_F.AGREEMENT_WID = W_AGREE_D.ROW_WID AND
W_SRVREQ_F.SR_WID = W_ACTIVITY_F.SR_WID AND
W_SRVREQ_F.PROD_WID = W_PRODUCT_D.ROW_WID AND
W_SRVREQ_F.ACCNT_WID = W_ORG_D.ROW_WID AND
W_SRVREQ_F.SR_WID = W_SRVREQ_D.ROW_WID AND
W_ORG_D.ROW_WID = W_ORG_DH.ROW_WID
STORED PROCEDURE
===========================
ConvSubProy(W_AGREE_D.AGREE_NUM,
W_PRODUCT_D.ATTRIB_51,
W_SRVREQ_D.ATTRIB_05,
W_ORG_DH.TOP_LVL_NAME,
W_ORG_D.ATTRIB_06,
W_PRODUCT_GROUPS_D.PRODUCT_LINE,
W_PRODUCT_D.PROD_NAME)
The mapping is very simple:
Source Qualifier -> Stored procedure -> Update strategy (only two ports: ROW_WID and custom column) -> Target Table
When I launch the DAC Execution Plan the corresponding task take much time (40 minuts). But when I launch the corresponding Workflow from Informatica PowerCenter Workflow Manager this only take 50 seconds... when I see the log session for the task I can see that much time is spent on the time of the updates. For example, when DAC is running the writer updates 10000 records every 6/7 minuts, but when Workflow Manager is running thw writer updates 10000 records every 8/9 seconds.
So, what happens (in the DAC) to that so much time difference? Is there a way to reduce the execution time when the task is launched from DAC?
Thanks
Best Regards
Benjamin TeyHave you tried using bulk load type?
In Workflow Manager can you open the associated task, navigate to the mapping tab and seled the target table.
What is the value for "Target load type" and which of the following boxes are checked: Insert, Update as Update, Update as Insert, Update else Insert, Delete? -
Latest version available for Oracle Forms and Reports in 11g AS
Deaer Friends,
Please let me know latest version available for Oracle Forms and Reports in 11g Application Server and let me know whether it is supported in Windows - 64 Bit Platform
Regards,
DBDB,
Oracle Forms and Reports 11g Release 2 (11.1.2) is the most recent forms and reports.
If you're on 11.1.1.x (for example 11.1.1.5 or 11.1.1.4), please refer to http://docs.oracle.com/cd/E24269_01/doc.11120/e23975/upgrade_from_r1.htm for upgrade procedure.
Otherwise, if you're installing it brand new, download Oracle Forms and Reports 11gR2 (11.1.2.0.0 from http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html
HTH,
Raj Mareddi
http://www.freeoraclehelp.com -
Approval Procedures and Stored Procedures
Hi All
I have a problem with approval procedures and stored procedures.
I created an approval procedure to check if a value in the udf is selected or not . if not then a messge is produced to ask the user to select the person to approve the PO.
Biut now the problem is the PO's are linked approval templates to the error messge don't show before the approval template screen.
Please assist.
Thanks
Bongani DlaminiHi Gordon
The stored procedure is just for validating if the user has selected the udf value.
It is not for approval*
I created an approval template for this purpose. So my problem is when I add the Po to the system the SP doesn't kick-in and alert the user to select the person to approve the PO.
Process Flow.
User captures PO then select the value on the UDF Field ( Approver) The value selected is linked to a query which is used by the Approval Template
If this method is still not supported then please let me know .
Thanks
Bongani Dlamini -
Issue with .profile for oracle 9i and 10g
Here I have six oracle 9i databases on one box. I am going to upgrade five of them to oracle 10g and want to keep one database RCAT in oracle 9i for one or two week.
So, when I do upgrade I have to setup oracle home for 10g and also profile for oracle user for 10g (correct me if I m wrong). But now I want one database RCAT on oracle 9i. How can I take care of this.
I mean how I will handle profile and all other thing for oracle 9i and 10g at the same time.
Thanks,
VishalInstall 10g under the same OS user as 9i, of course on a different Oracle Home. Then you configure your .profile consequently. Just as an example, this is my .bash_profile with 10g and 11g with the same oracle OS user :
[oracle@linux5 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export EDITOR=vi
export ORACLE_BASE=/home/oracle/base
umask 022
o10()
{ export ORACLE_SID=db102
export ORACLE_HOME=$ORACLE_BASE/OraHome10
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export TNS_ADMIN=$ORACLE_BASE/OraHome11/network/admin
export PS1='[\u@\h_10 \W]\$ '
o11()
{ export ORACLE_SID=db11
export ORACLE_HOME=$ORACLE_BASE/OraHome11
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export PS1='[\u@\h_11 \W]\$ '
s()
{ sqlplus / as sysdba
asm()
{ export ORACLE_SID=+ASM
db10()
{ export ORACLE_SID=db102
db11()
{ export ORACLE_SID=db11
asm10()
{ export ORACLE_SID=asm10
[oracle@linux5 ~]$ -
Are there different php functions for Oracle 8 and 9?
Hi!
Are there different php functions for Oracle 8 and 9?
Thanks for your answer!You can use the oci8* functions for Oracle 8, 9 and 10.
It is the most recent PHP interface to Oracle, and uses Oracle's most recent
API.
The name oci8 comes from the version number of Oracle - version 8 - when
Oracle introduced a new C API. It succeeded the original OCI and got the
common name OCI8. The original OCI now has the common name of OCI7.
-- CJ -
Golden Gate 32bit for Oracle 10g and 11g
Does oracle released Golden Gate 32bit for Oracle 10g and 11g, i could not able to find out 32bit http://edelivery.oracle.com or OTN.
Thanksnever mind, i was able to download from e-delivery.
-
OCCI for Oracle 9i and MS Visual Studio 2005
Hello.
Where do I get OCCI *.lib and *.dll files for Oracle 9i and MS Visual Studio 2005 (VC 8)?
Roman Perepelitsa.I was able to use MS Visual Studio 2005 and OCCi classes. There is a catch though, I was not able to use the debug library dll as it will crash. So I was not able to debug any code using the VS debugger, instead, I use the old and lengthy process: insert printf statements.
Jeff
Maybe you are looking for
-
How to find out top 10 records from the R/3 using Java code (WD Program)
Hi Experts, I have used Java Web Dynpro program to fetch records from the backend. Following code helps me and fetches record. As per the customer reqirement, we have to fetch only top 10 records (Actual Cost) from the backend. So I have to modify th
-
How to set the default value of a database column to NULL
Hello, I want to set the default value of a column (VARCHAR2(20) to NULL, nut I cannot figure out to do this. I tried the following editing the offline table with JDeveloper: Default Value : <empty> -> On database NULL Default Value: '' -> On databas
-
A particular project I am working on will not render in cs6. Every time i try to render the timeline it freezes about 1/3 of the way through. I can render one clip at a time for a few clips but then it consistently freezes after about 3 renders and
-
hi, I am using APD to get the report results as CSV file. I have restircted not to show the decimal places for the values in the report but the file that is genarated always comes with two decimals. The business does not wants the value with decima
-
my receiver volume (5s) is very low even when turned all the way up. is there a setting to correct?