An intermittently terminating stored procedure
If anyone has experience troubleshooting a stored procedure that intermittently terminates after partially progressing, please send things to check for. Essentially, a .NET application invokes the stored procedure and waits for completion -- except
the stored procedure appears to intermittently, abnormally terminate (judging by sp_who2 and intermediate event records inserted into a database table) and does not return an error to the application. I am in the process of ruling out the .NET application
as the cause. I have recreated the issue with SQL Server 2008 R2 Standard and SQL Server 2012 R2 Standard. I've reviewed the SQL Server Logs, doesn't appear to be any obviously related errors. The stored procedure creates temp tables in tempdb,
if that is relevant. I've looked into adjusting SQL Server advanced parameter Query Wait, but this should have undesirable side effects unfortunately. Do you recommend a SQL Server Profiler trace as a next troubleshooting step?
I think a trace (Extended Events or Profiler) is a good next step in troubleshooting. If a T-SQL error occurs on the server side, it will bubble up to the .NET application as long as the connection is still there. However, the error could be hidden
behind result sets that are not consumed by the application. Check the app code to ensure results are fully processed.
Dan Guzman, SQL Server MVP, http://www.dbdelta.com
Similar Messages
-
Error while executing java stored procedure from a pl/sql procedure
We have a requirement where we need to execute JAVA code stored in an Oracle database (Java Stored Procedure). This code uses some JAR files which we have already loaded without any errors in the database.
The class file was also loaded in the database without any errors. But when we execute the method of this class (JAVA code), it gives the following error:
ORA-29532: Java call terminated by uncaught Java exception:
java.lang.NoClassDefFoundError
Is there any way of debugging the code and getting to know where exactly the problem is? Or, any tool/software available for doing the same.
Any pointers would be of great help!
Thanks in advanceHi Uday,
My guess is that there is a problem with your java stored procedure that is causing the "ExceptionInInitializer" error to be thrown. According to the javadoc:
is thrown to indicate that an exception occurred during
evaluation of a static initializer or
the initializer for a static variable
Since I didn't see any of your code in your post, I can't help you much more, I'm afraid. Perhaps if you would provide some more details, I may be able to help you some more. I think the following details would be helpful:
1. Complete error message and stack trace you are getting.
2. The section of your java code that you think is causing the problem.
3. Oracle database version you are using.
Good Luck,
Avi. -
Trigger Unix Program from a stored procedure
Is it possible to start a Unix program as a background OS process from a stored procedure?
In fact I want to call a stored procedure which starts a Unix process. After the termination of this process get the results of the programm (a text file) using UTL_FILE package from the stored procedure and produce an HTML document based on the output of the started process using the htp package.
Thanks, JVwrote:roadbike
Whats the best way to start a host (Unix) program from a stored procedure or trigger without having to wait for a response from the program (i.e start it and forget it )The BEST way depends on your operating system and version of the Oracle database. If you are at Oracle 10g or higher, I would certainly suggest using dbms_scheduler. In 10gR2 you can set a program to execute on receipt of an event, and the trigger or stored procedure can be the cause of the event. -
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 -
NameFromLastDDL Error during java stored procedure upload...
Hi guys,
I am trying to upload a class to send email within a java stored procedure.
JDeveloper fails to upload the class, and the error message doesn't help me:
I guess the automatically generated SQL statment features a "NameFromLastDDL" argument, but i have no control over that....anybody had this issue before ?
Following, the "ugly" exception:
Error while creating class client/Utils
ORA-06550: line 1, column 91:
PLS-00201: identifier 'NameFromLastDDL' must be declared
ORA-06550: line 1, column 85:
PL/SQL: Statement ignored
java.sql.SQLException: ORA-06550: line 1, column 91:
PLS-00201: identifier 'NameFromLastDDL' must be declared
ORA-06550: line 1, column 85:
PL/SQL: Statement ignored
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:184)
at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:873)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1086)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3076)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4273)
at oracle.aurora.server.tools.loadjava.ClientClassObject.create(ClientClassObject.java:68)
at oracle.aurora.server.tools.loadjava.SchemaObject.process1(SchemaObject.java:223)
at oracle.aurora.server.tools.loadjava.LoadJava.add(LoadJava.java:530)
at oracle.aurora.server.tools.loadjava.LoadJava.addClass(LoadJava.java:584)
at oracle.aurora.server.tools.loadjava.LoadJava.add(LoadJava.java:434)
at oracle.aurora.server.tools.loadjava.LoadJava.add(LoadJava.java:378)
at oracle.aurora.server.tools.loadjava.LoadJava.addJar(LoadJava.java:717)
at oracle.aurora.server.tools.loadjava.LoadJava.add(LoadJava.java:430)
at oracle.aurora.server.tools.loadjava.LoadJava.add(LoadJava.java:378)
at oracle.aurora.server.tools.loadjava.LoadJava.add(LoadJava.java:347)
at oracle.aurora.server.tools.loadjava.LoadJava.add(LoadJava.java:643)
at oracle.aurora.server.tools.loadjava.LoadJava.processDeferredFiles(LoadJava.java:615)
at oracle.aurora.server.tools.loadjava.LoadJava.process(LoadJava.java:806)
at oracle.jdeveloper.deploy.tools.OracleLoadjava.deploy(OracleLoadjava.java:116)
at oracle.jdeveloper.deploy.tools.OracleLoadjava.deploy(OracleLoadjava.java:46)
at oracle.jdevimpl.deploy.OracleDeployer.deploy(OracleDeployer.java:97)
at oracle.jdevimpl.deploy.StoredProcHandler.doDeploy(StoredProcHandler.java:473)
at oracle.jdevimpl.deploy.StoredProcHandler.doDeploy(StoredProcHandler.java:360)
at oracle.jdevimpl.deploy.StoredProcHandler.doDeployToMostRecent(StoredProcHandler.java:256)
at oracle.jdevimpl.deploy.StoredProcProfileDt$2.run(StoredProcProfileDt.java:193)
The following operations failed
class client/Utils: creation (createFailed)
oracle.aurora.server.tools.loadjava.ToolsException: Failures occurred during processing
at oracle.aurora.server.tools.loadjava.LoadJava.process(LoadJava.java:863)
at oracle.jdeveloper.deploy.tools.OracleLoadjava.deploy(OracleLoadjava.java:116)
at oracle.jdeveloper.deploy.tools.OracleLoadjava.deploy(OracleLoadjava.java:46)
at oracle.jdevimpl.deploy.OracleDeployer.deploy(OracleDeployer.java:97)
at oracle.jdevimpl.deploy.StoredProcHandler.doDeploy(StoredProcHandler.java:473)
at oracle.jdevimpl.deploy.StoredProcHandler.doDeploy(StoredProcHandler.java:360)
at oracle.jdevimpl.deploy.StoredProcHandler.doDeployToMostRecent(StoredProcHandler.java:256)
at oracle.jdevimpl.deploy.StoredProcProfileDt$2.run(StoredProcProfileDt.java:193)I think u dont've previleges to run
the procedure.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by arunr12:
hi I am calling java stored procedure from jdbc. i am getting wierd exceptions:
CallableStatement cstmt = conn.prepareCall("begin SEND_MAIL(?,?,?);end;");
cstmt.setString(1,"[email protected]");
cstmt.setString(2,"Mail from Stored Proc");
cstmt.setString(3,"This is test mail from Oracle8i");
cstmt.execute();
i am getting following Exception:
java.sql.SQLException: ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: the Permission (java.util.PropertyPermission * read,write) has not been granted by dbms_java.grant_permission to SchemaProtectionDomain(ISTORE_CUST|PolicyTableProxy(ISTORE_CUST))
ORA-06512: at "ISTORE_CUST.SEND_MAIL", line 0
ORA-06512: at line 1
<HR></BLOCKQUOTE>
null -
Error while invoking Stored Procedure.
Hi,
I am trying to invoke a stored procedure which has one input parameter and 3 output parameters. In the procedure, I am selecting 3 columns from a table based on the input parameter. I have generated a WSDL from database, along with wsdl an xsd has been created. I have used this WSDL in creating partner link on the target side. For source side partner link, I have created WSDL based on the xsd which is created from database. I have deployed this BPEL process and when I try to debug the flow it is failing while invoking the stored procedure I am getting below soap fault.
{color:#3366ff}<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="{color}{color:#3366ff}" xmlns:xsd="{color}{color:#3366ff}" xmlns:xsi="{color}{color:#3366ff}" xsi:schemaLocation="{color}{color:#3366ff} {color}{color:#3366ff}">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode xmlns="">SOAP-ENV:Server</faultcode>
<faultstring xmlns="">BPCOR-6135:A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is <?xml version="1.0&;quot; encoding="UTF-8"?><jbi:message xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling" type="sxeh:faultMessage" version="1.0&;quot; xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part>Error occured while executing SQL.call GETRESULTS(?,?,?,?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012</jbi:part></jbi:message>. Sending errors for the pending requests in the process scope before terminating the process instance</faultstring>
<faultactor xmlns="">sun-bpel-engine</faultactor>
<detail xmlns="">
<detailText>BPCOR-6135:A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is <?xml version="1.0&;quot; encoding="UTF-8"?><jbi:message xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling" type="sxeh:faultMessage" version="1.0&;quot; xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part>Error occured while executing SQL.call GETRESULTS(?,?,?,?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012</jbi:part></jbi:message>. Sending errors for the pending requests in the process scope before terminating the process instance
Caused by: BPCOR-6131:An Error status was received while doing an invoke (partnerLink=StoreProc, portType={http://j2ee.netbeans.org/wsdl/Storedproc}jdbcPortType, operation=execute)
BPCOR-6129:Line Number is 30
BPCOR-6130:Activity Name is Invoke1
Caused by: Error occured while executing SQL.call GETRESULTS(?,?,?,?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012
Caused by: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012
Caused by: Parameter Type Conflict: sqlType=12</detailText>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
{color:#000000}Plz help me to fix this issue.
Thanks,
Srinivas{color}{color}First of all does this scenario occur again.
"Works first/second time. Later gives this error."
After you restart the SOA server are you able to reproduce this scenario?
As already pointed out and from the error message, database connection is reset.
If you find this error again, try this out.
em -> home / oc4j_soa -> Administration -> JDBC Resources
Use the "Test Connection" option for the Connection Pool that you are using for your database JNDI.
It comes back and say "Connection to "XYZCP" established successfully." it is good to use.
Run the BPEL process again and once you find the error, come back and test the connection.
If it comes back with Error, diagnose based on the error message received.
Cheers
Kalidass Mookkaiah
http://oraclebpelindepth.blogspot.com/ -
Using XMLType in a Java Stored Procedure
I have the following piece of java test code that attempts to read an XMLType object from the database. When I run this client side, using either the oci or thin driver it works fine. When I run the same code as a java stored procedure I get the exception shown below.
(The problem was first seen on 9.2.0.3/Win2K. Ive patched to 9.2.0.4 and am still getting the same error)
Can anybody please help?
Thanks
Java Test Code:
===============
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.*;
import oracle.xdb.*;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println(run());
public static String run() throws Exception {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// client side THICK
//Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=ORACLE)))", "scott", "tiger");
// client side THIN
//Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORACLE", "scott", "tiger");
// server side
Connection conn = DriverManager.getConnection("jdbc:default:connection");
OracleCallableStatement stmt = (OracleCallableStatement)conn.prepareCall("{? = call XDBUriType('/test.xml').getXML()}");
stmt.registerOutParameter (1, OracleTypes.OPAQUE,"SYS.XMLTYPE");
stmt.execute();
XMLType xml = XMLType.createXML(stmt.getOPAQUE(1));
return xml.getStringVal();
SQLPLUS TRACE:
==============
SQL> VARIABLE res VARCHAR2(4000);
SQL> call run() into :res;
call run() into :res
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception:
java.lang.Exception: Unimplemented Feature
Dump File:
==========
Dump file c:\oracle9i\admin\oracle\udump\oracle_ora_4964.trc
Fri Oct 24 12:04:30 2003
ORACLE V9.2.0.3.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Personal Oracle9i Release 9.2.0.3.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.3.0 - Production
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Instance name: oracle
Redo thread mounted by this instance: 1
Oracle process number: 12
Windows thread id: 4964, image: ORACLE.EXE
*** 2003-10-24 12:04:30.000
*** SESSION ID:(10.121) 2003-10-24 12:04:30.000
java.lang.Exception: Unimplemented Feature
at oracle.xdb.spi.XDBContext.getServerEnv(XDBContext.java)
at oracle.xdb.XMLType.initConn(XMLType.java:1874)
at oracle.xdb.XMLType.<init>(XMLType.java:846)
at oracle.xdb.XMLType.createXML(XMLType.java:469)
at cms.Test.run(Test.java:27)I have the very same problem. Somebody from Oracle Corp please reply. If this is a bug, please do not let us waste time to research a solution. Otherwise, point a way out!
Thanks, -
Error Calling a simple stored procedure
Hello. I'm using the code below to call a simple stored procedure which returns a number. Why does it throw the exception (Also below)?
Thank you,
Alek
=======================
Code:
import java.sql.*;
public class Connect
public static void main (String[] args)
Connection conn = null;
//CallableStatement stmtMySQL = null;
long local_callkey = 0;
try
Class.forName("com.mysql.jdbc.Driver");
String userName = "abc";
String password = "def";
String url = "jdbc:mysql://mysqlserver/sxma";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);
System.out.println ("Database connection established");
String theMySQLCall = "{?=call sxma.sp_getnumber()}";
CallableStatement stmtMySQL = conn.prepareCall(theMySQLCall);
stmtMySQL.registerOutParameter(1, Types.INTEGER);
stmtMySQL.execute();
int res = stmtMySQL.getInt(1);
if(res!=0)
throw new Exception("MySQL Query exception return code: " + String.valueOf(res) + ")");
else
local_callkey = stmtMySQL.getLong(1);
System.out.println("Local key is: " + local_callkey);
catch (Exception e)
System.err.println ("Cannot connect to database server!");
e.printStackTrace();
finally
if (conn != null)
try
conn.close ();
System.out.println ("Database connection terminated");
catch (Exception e) { /* ignore close errors */ }
================
Exception:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.charAt(String.java:444)
at com.mysql.jdbc.StringUtils.indexOfIgnoreCaseRespectQuotes(StringUtils.java:951)
at com.mysql.jdbc.DatabaseMetaData.getCallStmtParameterTypes(DatabaseMetaData.java:1277)
at com.mysql.jdbc.DatabaseMetaData.getProcedureColumns(DatabaseMetaData.java:3640)
at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:506)
at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:401)
at com.mysql.jdbc.Connection.parseCallableStatement(Connection.java:4072)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4146)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4120)
at Connect.main(Connect.java:20)
Thank you for your helpWell, there's certainly something about that line that it doesn't like.
I'm not really familiar enough with MySQL to remote-debug this one for you, but it seems to be dying while trying to reconcile that call to its metadata for the sproc. Check the sproc declaration -does it return a single out value? Or does it have a single out value in the parameter list (not the same thing, I think) ? And so on.
Also, with the amended call that I provided is the failing stack trace identical, or slightly different? If different, could you post that too please?
Finally, do you have a known good sproc call that you can sanity check against? Perhaps take one of the examples from the MySQL site and check that that will work with their reference code? -
Error while executing Java Stored Procedure.
Hi,
When I'm trying to execute my java stored procedure i'm getting the following error:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.ExceptionInInitializerError
Does anybody has idea why this error comes and how can be resolved.
Thanks in advance.
UdayHi Uday,
My guess is that there is a problem with your java stored procedure that is causing the "ExceptionInInitializer" error to be thrown. According to the javadoc:
is thrown to indicate that an exception occurred during
evaluation of a static initializer or
the initializer for a static variable
Since I didn't see any of your code in your post, I can't help you much more, I'm afraid. Perhaps if you would provide some more details, I may be able to help you some more. I think the following details would be helpful:
1. Complete error message and stack trace you are getting.
2. The section of your java code that you think is causing the problem.
3. Oracle database version you are using.
Good Luck,
Avi. -
Problem with parameter of stored procedure....
HI,
I've this stored procedure:
CREATE OR REPLACE procedure ST_DAT (NAME_IN VARCHAR2) as
BEGIN
insert into REP_NAME
select COD_ID,DESCR_ID,AREA, NAME_IN, sysdate
from REP_TAB;
COMMIT;
END ST_DAT;
this procedure is called from an external program
It run correctly, but I have any problem when I tried to insert into tab REP_NAME one value of NAME_IN
with apostrophe.
for example if I write (from external program) Mary run correctly, but If I write Mary's Bar I get
this error:
ORA-01756: quoted string not properly terminated.
I tried with REPLACE:
insert into REP_NAME
select COD_ID,DESCR_ID,AREA, REPLACE(NAME_IN,'',''''), sysdate
from REP_TAB;
BUT I GET SAME ERROR:
How can I call this procedure with apostrophe?
Thanks in advance!You need to handle this in the calling program by escaping the apostophe with another apostrophe...
exec st_dat('Mary''s Bar')Of course that's easy to do when I'm typing in a literal. It's a bit trickier to automate :)
Cheers, APC -
Stored Procedure Vs PL-SQL Block
Hi,
I came across an interesting problem last week. Fortunately, I was able to solve it or find an acceptable workaround for myself. But wanted to get some clarification from the experts. So posting it here.
Also, I am new to Orcle, so please excuse any shortcomings in the post.
My data model has following tables-
TABLE_PARENT (ID, other columns)
TABLE_CHILD (ID, other columns, PARENT_ID_FK)
Here, ID is the primary key column for the respective tables; PARENT_ID_FK is the foreign key referencing the ID column from the TABLE_PARENT.
I created a stored procedure programmatically (using MS Excel) to insert records in the two tables. The stored procedure has insert statements for an indefinite number of records in the parent table and for every such record, there's a corresponding record inserted in the child table. Here's the sample code.
BEGIN
/*first record*/
parent_id := MY_SEQUENCE_GENERATOR.NEXTVAL;
INSERT INTO TABLE_PARENT(ID, other columns) VALUES (parent_id, other values);
INSERT INTO TABLE_CHILD(ID, other values,parent_id );
/*second record*/
parent_id := MY_SEQUENCE_GENERATOR.NEXTVAL;
INSERT INTO TABLE_PARENT(ID, other columns) VALUES (parent_id, other values);
INSERT INTO TABLE_CHILD(ID, other values,parent_id );
/*third record*/
parent_id := MY_SEQUENCE_GENERATOR.NEXTVAL;
INSERT INTO TABLE_PARENT(ID, other columns) VALUES (parent_id, other values);
INSERT INTO TABLE_CHILD(ID, other values,parent_id );
/*and so on*/
END
When I run this stored procedure, I keep getting following exception intermittently-
ORA-02291: integrity constraint violated-parent key not found tips.
My thinking is that it comes because the insert statements are executing ahead of turn of the parent_id assignment statement. And this is happening possibly because of some parallelism that is taking place during the execution of the stored procedure, or, some sort of optmization that the DB server does (though erroneously) when it compiles the stored procedure.
I tried out everything that I could think of but it didn't go away. Finally, when I executed the same set of statements as a PL-SQL block, it worked fine.
To understand it better, I am looking for clarification on the following questions.
1) Why does the exception come with stored procedure but not with PL-SQL block? Is my reasoning given above correct (parallelism or some sort of optimization coming into play)?
2) If it is due to parallelism, how to run a Oracle stored procedure with defree of prallelism set to 1?
3) If it is due to optimization done by the compiler, how to instruct the compiler to not do any such optimization. Also, in any case, isn't it an error to optimize but lose program semantics?
4) Another question related to the same piece of work I have is to use transactions in the PL-SQL block, I had to explicitly COMMIT/ROLLBACK it in the code. In whatever references I had read, it was said that by default the transaction begins with BEGIN statement and commits with END. Also, it seems to work with a Stored Proedure though. So is it that a PL_SQL block needs explicity call to COMMIT/ROLLBACK to achive transactions but stored procedures do not?
Any inputs/clarifications will be much appreciated.
Thank you
NeeleshOk, your last couple of paragraphs were helpful. Here're the details that were missing in my earlier post.
- I am on Oracle 10.2.0.
- Table definitions-
CREATE TABLE "MYUSER"."TABLE_PARENT"
*( "ID" NUMBER(19,0) NOT NULL ENABLE,*
* "NAME" VARCHAR2(30),*
* "DESCRIPTION" VARCHAR2(80),*
* "RULETYPE" NUMBER(10,0) NOT NULL ENABLE,*
* "OPERATOR" NUMBER(10,0),*
* "MININTERCEPT" FLOAT(126),*
* "PRIORITY" NUMBER(10,0),*
* "PENALTY" NUMBER(10,0),*
* "STATUS" NUMBER(10,0),*
* PRIMARY KEY ("ID")*
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" ENABLE,
*) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING*
STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS"
CREATE TABLE "MYUSER"."TABLE_CHILD"
*( "ID" NUMBER(19,0) NOT NULL ENABLE,*
* "WEIGHT" NUMBER(19,0),*
* "PARENTID_FK" NUMBER(19,0),*
* PRIMARY KEY ("ID")*
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" ENABLE,
* CONSTRAINT "FK3A78BF1E6A9DCE51" FOREIGN KEY ("PARENTID_FK")*
* REFERENCES "MYUSER"."TABLE_PARENT" ("ID") ENABLE*
*) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING*
STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS"
- The Stored procedure definition is-
CREATE OR REPLACE PROCEDURE LOAD_RULES_SP AS
ruleid NUMBER(19,0);
tempid NUMBER(19,0);
BEGIN
*/* First parent record */*
SELECT IDGENERATOR.NEXTVAL INTO ruleid FROM dual;
INSERT INTO TABLE_PARENT (ID, NAME, DESCRIPTION, RULETYPE, OPERATOR, MININTERCEPT, PRIORITY, penalty, STATUS) VALUES (ruleid, 'Rule 1',null,3,0,0,null,null,1);
*/* Corresponding child records */*
SELECT IDGENERATOR.NEXTVAL INTO tempid FROM dual;
INSERT INTO TABLE_CHILD (id, weight, PARENTID_FK)
VALUES (tempid, 0.2, ruleid);
SELECT IDGENERATOR.NEXTVAL INTO tempid FROM dual;
INSERT INTO TABLE_CHILD (id, weight, PARENTID_FK)
VALUES (tempid, 0.5, ruleid);
SELECT IDGENERATOR.NEXTVAL INTO tempid FROM dual;
INSERT INTO TABLE_CHILD (id, weight, PARENTID_FK)
VALUES (tempid, 0.3, ruleid);
*/* First parent record */*
SELECT IDGENERATOR.NEXTVAL INTO ruleid FROM dual;
INSERT INTO TABLE_PARENT (ID, NAME, DESCRIPTION, RULETYPE, OPERATOR, MININTERCEPT, PRIORITY, penalty, STATUS) VALUES (ruleid, 'Rule 1',null,3,0,0,null,null,1);
*/* Corresponding child records */*
SELECT IDGENERATOR.NEXTVAL INTO tempid FROM dual;
INSERT INTO TABLE_CHILD (id, weight, PARENTID_FK)
VALUES (tempid, 0.2, ruleid);
SELECT IDGENERATOR.NEXTVAL INTO tempid FROM dual;
INSERT INTO TABLE_CHILD (id, weight, PARENTID_FK)
VALUES (tempid, 0.5, ruleid);
SELECT IDGENERATOR.NEXTVAL INTO tempid FROM dual;
INSERT INTO TABLE_CHILD (id, weight, PARENTID_FK)
VALUES (tempid, 0.3, ruleid);
*/* And so on for a few parent records more */*
END;
Can you throw some light on the exception I was seeing now? Note that when I changed from stored procedure to an anonymous block, it worked fine.
One correction in my earlier post is that as the code snippet shows, there are multiple inserts in the child table for every record inserted in the parent one. -
when debugging SSIS, the "Execute SQL Task" runs a stored procedure and returns the expected value. When running the package a second time, the task returns an unexpected value. When running in VS2012 SQL editor, everything operates as expected.
Please help me debug how to get the stored proc to return the same value every time the SSIS Package is run. thanks!
Here is the sequence of events and what happens....
Look for a Positor that matches the Application, Host, and User
No matching PositorId is found, Creates new Positor row, returns that new PositorId
Use PositorId to upload some data (Every thing works)
re-run/debug the ssis pacakge
Look for a Positor that matches the Application, Host, and User
<No clue what is happening>
Returns -1 (SHOULD BE the same PositorId value returned in #2)
"Execute SQL Task" Setup: No edits to Result Set nor Expressions
"Execute SQL Task" Setup: GENERAL
"Execute SQL Task" Setup: PARAMETER MAPPING
SP called by "Execute SQL Task"
CREATE PROCEDURE [posit].[Return_PositorId]
AS
BEGIN
DECLARE @PositorId INT = [posit].[Get_PositorId]();
IF (@PositorId IS NULL)
BEGIN
DECLARE @ProcedureDesc NVARCHAR(257) = OBJECT_SCHEMA_NAME(@@PROCID) + N'.' + OBJECT_NAME(@@PROCID);
DECLARE @PositorNote NVARCHAR(348) = N'Automatically created by: ' + @ProcedureDesc;
EXECUTE @PositorId = [posit].[Insert_Positor] @PositorNote;
END;
RETURN @PositorId;
END;
Supporting SQL Objects:
CREATE FUNCTION [posit].[Get_PositorId]
RETURNS INT
AS
BEGIN
DECLARE @PositorId INT = NULL;
SELECT TOP 1
@PositorId = [p].[PO_PositorId]
FROM [posit].[PO_Positor] [p]
WHERE [p].[PO_PositorApp] = APP_NAME()
AND [p].[PO_PositorHost] = HOST_NAME()
AND [p].[PO_PositorUID] = SUSER_ID();
RETURN @PositorId;
END;
GO
CREATE PROCEDURE [posit].[Insert_Positor]
@PositorNote NVARCHAR(348) = NULL
AS
BEGIN
DECLARE @ProcedureDesc NVARCHAR(257) = OBJECT_SCHEMA_NAME(@@PROCID) + N'.' + OBJECT_NAME(@@PROCID);
SET @PositorNote = COALESCE(@PositorNote, N'Automatically created by: ' + @ProcedureDesc);
DECLARE @Id TABLE
[Id] INT NOT NULL
INSERT INTO [posit].[PO_Positor]([PO_PositorNote])
OUTPUT [INSERTED].[PO_PositorId]
INTO @Id([Id])
VALUES(@PositorNote);
RETURN (SELECT TOP 1 [Id] FROM @Id);
END;
GO
CREATE TABLE [posit].[PO_Positor]
[PO_PositorId] INT NOT NULL IDENTITY(0, 1),
[PO_PositorApp] NVARCHAR(128) NOT NULL CONSTRAINT [DF__PO_Positor_PO_PositorApp] DEFAULT(APP_NAME()),
CONSTRAINT [CL__PO_Positor_PO_PositorApp] CHECK([PO_PositorApp] <> ''),
[PO_PositorName] NVARCHAR(256) NOT NULL CONSTRAINT [DF__PO_Positor_PO_PositorName] DEFAULT(SUSER_SNAME()),
CONSTRAINT [CL__PO_Positor_PO_PositorName] CHECK([PO_PositorName] <> ''),
[PO_PositorHost] NVARCHAR(128) NOT NULL CONSTRAINT [DF__PO_Positor_PO_PositorHost] DEFAULT(HOST_NAME()),
CONSTRAINT [CL__PO_Positor_PO_PositorHost] CHECK([PO_PositorHost] <> ''),
[PO_PositorSID] VARBINARY(85) NOT NULL CONSTRAINT [DF__PO_Positor_PO_PositorSID] DEFAULT(SUSER_SID()),
[PO_PositorUID] INT NOT NULL CONSTRAINT [DF__PO_Positor_PO_PositorUID] DEFAULT(SUSER_ID()),
[PO_PositorNote] VARCHAR(348) NULL CONSTRAINT [CL__PO_Positor_PO_PositorNote] CHECK([PO_PositorNote] <> ''),
[PO_tsInserted] DATETIMEOFFSET(7) NOT NULL CONSTRAINT [DF__PO_Positor_PO_tsInserted] DEFAULT(SYSDATETIMEOFFSET()),
[PO_RowGuid] UNIQUEIDENTIFIER NOT NULL CONSTRAINT [DF__PO_Positor_PO_RowGuid] DEFAULT(NEWSEQUENTIALID()) ROWGUIDCOL,
CONSTRAINT [UX__PO_Positor_PO_RowGuid] UNIQUE NONCLUSTERED([PO_RowGuid]),
CONSTRAINT [UK__Positor] UNIQUE CLUSTERED ([PO_PositorApp] ASC, [PO_PositorHost] ASC, [PO_PositorUID] ASC),
CONSTRAINT [PK__Positor] PRIMARY KEY ([PO_PositorId] ASC)
GO
ssdThe error is in item 7: Returns -1 (SHOULD BE the same PositorId value returned in #2); but no error message is returned or thrown from SSIS.
The error message indicated referential integrity is not upheld when inserting records. This error message occurs AFTER the Execute SQL Task successfully completes; the E.SQL Task returns -1. The executed SQL code will not allow values less than 0
([PO_PositorId] INT NOT NULL IDENTITY(0, 1),)
[Platts Valid [41]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E2F.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E2F Description: "The statement has been terminated.".
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E2F Description:
"The INSERT statement conflicted with the FOREIGN KEY constraint "FK__PricingPlatts_Posit_PositorId". The conflict occurred in database "Pricing", table "posit.PO_Positor", column 'PO_PositorId'.".
The aforementioned FOREIGN KEY constraint is due to the value being returned by the Execute SQL Task.; therefore, the error lies in the value returned by the Execute SQL Task. -
Accessing XMLType in a Java Stored Procedure
I have the following piece of java test code that attempts to read an XMLType object from the database. When I run this client side, using either the oci or thin driver it works fine. When I run the same code as a java stored procedure I get the exception shown below.
(My system is 9.2.0.3 on Win2k)
Can anybody help?
Thanks
Java Test Code:
===============
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.*;
import oracle.xdb.*;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println(run());
public static String run() throws Exception {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// client side THICK
//Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=ORACLE)))", "scott", "tiger");
// client side THIN
//Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORACLE", "scott", "tiger");
// server side
Connection conn = DriverManager.getConnection("jdbc:default:connection");
OracleCallableStatement stmt = (OracleCallableStatement)conn.prepareCall("{? = call XDBUriType('/test.xml').getXML()}");
stmt.registerOutParameter (1, OracleTypes.OPAQUE,"SYS.XMLTYPE");
stmt.execute();
XMLType xml = XMLType.createXML(stmt.getOPAQUE(1));
return xml.getStringVal();
SQLPLUS TRACE:
==============
SQL> VARIABLE res VARCHAR2(4000);
SQL> call run() into :res;
call run() into :res
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception:
java.lang.Exception: Unimplemented Feature
Dump File:
==========
Dump file c:\oracle9i\admin\oracle\udump\oracle_ora_4964.trc
Fri Oct 24 12:04:30 2003
ORACLE V9.2.0.3.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Personal Oracle9i Release 9.2.0.3.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.3.0 - Production
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Instance name: oracle
Redo thread mounted by this instance: 1
Oracle process number: 12
Windows thread id: 4964, image: ORACLE.EXE
*** 2003-10-24 12:04:30.000
*** SESSION ID:(10.121) 2003-10-24 12:04:30.000
java.lang.Exception: Unimplemented Feature
at oracle.xdb.spi.XDBContext.getServerEnv(XDBContext.java)
at oracle.xdb.XMLType.initConn(XMLType.java:1874)
at oracle.xdb.XMLType.<init>(XMLType.java:846)
at oracle.xdb.XMLType.createXML(XMLType.java:469)
at cms.Test.run(Test.java:27)I have the very same problem. Somebody from Oracle Corp please reply. If this is a bug, please do not let us waste time to research a solution. Otherwise, point a way out!
Thanks, -
How to use signed classes/Jars in Java Stored Procedure?
I am using java encryption API in my java application that I want to deploy as java stored procedure. The API is kept in the signed jar files.
The Application is running in the MS-DOS environment but not in Oracle8i.
It gives me following error.
java.lang.ExceptionInInitializerError: java.lang.SecurityException: Cannot set
up certs for trusted CAs
at javax.crypto.b.<clinit>([DashoPro-V1.2-120198])
at javax.crypto.KeyGenerator.getInstance([DashoPro-V1.2-120198])
at DesKey.GenerateKey(DesKey.java:63)
declare
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception:
java.lang.ExceptionInInitializerError
ORA-06512: at line 4
(Note: I have enabled the java output in SQL Plus editor otherwise it will give only the second part of error that starts from ERROR at line 1:)
please guide me how to solve this problem.
Salman HameedSalman,
If you do not get a reply on this forum, I recommend you post this question on the Oracle JVM discussion forum as well.
In addition, I would recommend checking the documentation for Oracle8i. The Oracle8i Java Developer's Guide, the Java Stored Procedures Guide, and the JDBC Developer's guide may have some information on this topic. You can get to this doc from the OTN Documentation page. Click on Oracle8i, then General Documentation, Release 2 (8.1.6), then scroll down to see the link for the Oracle8i Java Developer's documetation. All of the books mentioned above are available from that link. -
Stored Procedure for displaying data in Crystal Reports
Hi I am new to Oracle & Crystal Reports,so can any one please give me sample stored procedure to display data in Crystal report from Oracle by passing rwo input values.
from site:-
Crystal Reports will only support the return of a single refcursor from Oracle. Even the latest and greatest version 10 doesn't allow you to return more than one recordset at a time. You could add one more step to your procedure that would join up the output of the multiple refcursors into a PL/SQL table and then fetch the result set out through a single refcursor. That way you are using temporary space that will be cleaned up as soon as the connection is terminated and will only be returning a single refcursor
Maybe you are looking for
-
EPMA Dimension library not opening
We are currently getting an error while opening the Dimension library from the workspace.The error message that pops us contains the following information: There was some communication error. Response is : http://punitp109708d:19000/awb/modules/com/h
-
Nothing in firefox displays properly unless in full screen
I started up my computer today and a norton window popped up informing me that a new version of the product was available. I went along with it and updated. Afterwards i opened up firefox to browse the web but instead of my home page i got a glitched
-
Need help X-fi Fatal1ty Pro doesn't wo
just bought this. Not impressed AT ALL. been whacking my computer out of frusteration kind of annoyed... I installed it how i was supposed to, disabled AC'97 etc. and been through help. Nothing works. I cannot email creative as their email support th
-
Hello, How could I execute an anonymous PL/SQL using ODP.NET? I have de object OracleConnection and the object OracleCommand but I can only set the commandType of this last object to Text or Storedprocedure. Is there any way of doing this? Thank you!
-
Can i put a lable to show on the photo itself
I am a painter and need to put the size visible on the photo itself. I know i can put it in information but i need it visible? thank you