Sequence Error in Bc4jAuctions Derivation.
Hi,
I'm using JDev 3.1.1.2, Oracle8i 8.1.5.
I have gone through the sample app bc4jauctions and can run it without any problems now.
After creating my own simple with business component for person and address, i included also the same sql script for bc4jauctions in creating the sequences and triggers.
My problem now is when testing my business component with the views created for person and address, i get an error stating that i need to insert the id for the new row of data.
Am i wrong in thinking that the sequence and trigger code in my sql script took care of this, OR do i also have to go into my code and manually write the sequence code in the create method like the OnlineOrders sample.
Thanks,
Jay
Hi,
You can disregard the previous post.
I found my problem.
Thanks,
Jay
Similar Messages
-
Hi Chris, we where using this Java code with TimesTen 5.1.34:
while (rs.next()) {
associatedMsbs.add(Integer.toString(rs.getInt(HGROUPID)));
// Prepare object to insert in database
SvcLog_VO svcLog = new SvcLog_VO();
svcLog.setLogId(svcLogDAO.getlogIdNextVal(conn));
svcLog.setService( CommonConstants.MobileSwitchboardSvcId );
svcLog.setOperType( CommonConstants.OPER_TYPE_UPDREL );
svcLog.setEntityType( CommonConstants.ENTITY_TYPE_MOBILESWITCHBOARD);
svcLog.setEntityId( rs.getInt(HGROUPID) );
svcLog.setRelEntityId( woUserId );
// Insert object in database
svcLogDAO.insertData(svcLog, conn);
This code no longer works in TimesTen 7.0.3. We receive the following error:
[TimesTen 7.0.3.0.0 ODBC Driver]Function sequence error.
We had to change the code this way:
while (rs.next()) {
// Prepare object to insert in database
SvcLog_VO svcLog = new SvcLog_VO();
svcLog.setLogId(svcLogDAO.getlogIdNextVal(conn));
svcLog.setService( CommonConstants.MobileSwitchboardSvcId );
svcLog.setOperType( CommonConstants.OPER_TYPE_UPDREL );
svcLog.setEntityType( CommonConstants.ENTITY_TYPE_MOBILESWITCHBOARD);
svcLog.setEntityId( rs.getInt(HGROUPID) );
svcLog.setRelEntityId( woUserId );
// Store object in ArrayList
svcLogs.add(svcLog);
// Insert the objects in the ArrayList in database
for (int i = 0; i < svcLogs.size(); i++) {
SvcLog_VO svcLog = (SvcLog_VO)svcLogs.get(i);
svcLogDAO.insertData(svcLog, conn);
Once we split the code in two, first iterating the ResultSet and then inserting the objects, it works properly again. Is there any known issue in TimesTen about this?
Thanks in advance,Hi, Chris:
The code where this occurs is the following:
public void insertParameters(String xxx1, String xxx2, String xxx3,
int xxx4, Connection conn) throws TTException, SQLException {
PreparedStatement ps = null;
String query = null;
try {
query = queryInsert;
ps = conn.prepareStatement(query);
ps.setInt(1, xxx1);
ps.setString(2, xxx2);
ps.setString(3, xxx3);
ps.setString(4, xxx4);
// If debug is activated, the query is printed
if (log.isDebugEnabled()) {
ReadableQuery rq = new ReadableQuery();
rq.addParam(new Integer(xxx1));
rq.addParam(new String(xxx2));
rq.addParam(new String(xxx3));
rq.addParam(new String(xxx4));
log.debug(" Query to execute .. [" + rq.get(query) + "]");
ps.executeUpdate();
// Exception handling
catch (Exception ex) {
log.error(ex);
throw new TTException(ex);
} // Resources are closed
finally {
try {
if (ps != null) {
ps.close();
} catch (SQLException e) {
log.error("Error closing JDBC resources");
throw e;
This method accesses to DDBB and inserts data in a table with the following structure
Command> desc wo.bs_tb_bsvc_param_values;
Table XXXXXXX:
Columns:
*aaa TT_INTEGER NOT NULL
*bbb TT_CHAR (35) NOT NULL
ccc TT_CHAR (10) NOT NULL
ddd TT_CHAR (256) NOT NULL
1 table found.
(primary key columns are indicated with *)
Command>
Thanks. -
"Error occurred in derivation rule" & "No commitment item entered in item".
Unable to create Purchase Request (PR) and the following error message shows
"Error occurred in derivation rule. See Long Text"
Diagnosis
Fund From Commitment Item
No entry in a derivation rule was found for the specified source fields.
The derivation rule was set up that an error message appears when this happens.
The required derivation rule entry would need the following source fields:
Commitment Item
xxxxxxx
Procedure:
Create an entry in a derivation rule for these source field values. Make sure that entries exist for all the valid source field values. If the derivation should not always be carried out, you can also define rule so that no error message appears if a derivation rule entry does not exist.
Can any one help how to find out the root cause of the error and solve this issue
Regards,
GBI was able to duplicate your error by creating the following.
I went to transaction FMDERIVE and created a derivation rule and named it "Fund From Commitment Item".
On the definition tab, I selected committment item (COMMIT_ITEM) for the source field and the target field selected (FUND).
The condition tab was left blank. NOTE: On the attribute tab I selected the option "Issue Error Warning If No Value Found).
I entered no rule values (F9) within the rule (for example such as commitment item XXXXXXX = fund YYYYY) and saved.
After creating this derivation rule, I get the same error message because there were no values in the derivation rule (the source commitment item used was not found in the rule).
If Fund is a field that is always keyed manually then I would not have such a derivation rule.
But you may have some exceptions (like we do) and in the case of exceptions you can populate the derivation rule with those exceptions... i.e. whenever commitment item XXXX is used then the fund should be equal to YYYY further using your conditions and attributes for your custom needs. -
Function sequence error. in 64bit Windows 2008 Server.
Hi All,
Pardon me if the posting is not in the correct group.
I am migrating my application from 32bit(Windows 2003 Server) to 64bit (Windows 2008 Server R2).
I am getting the following while trying to execute a SQL command
Encountered ODBC error -1: S1010, 0, [Microsoft][ODBC Driver Manager] Function sequence error .
Basically internal function call is SQLExecute() function call. This works perfectly for Windows 2003 Server 32bit. I tried the command execute at the background from the command prompt and it is working.
I checked the squence of call.We have two consecutive SQLBindParameter function call and then we call SQLExecute. Is this sequence incorrect in case of 64bit? I also checked the return code given by SQLExecute which is 99.
Any help or suggestion would be very much appreciated.
Thanks,
-RHi Teun,
Yes i have build the addon & installer with x86. I am using Interop.SAPbouiCOM.dll , Interop.SAPbouiCOM.dll, System.dll , System.XML.dll.
I have not specified the relative path in code as such but iam loading my forms Load batch action i don't know if it ok in this scenario or not.
Building the Solution/Project is Successful without any warning.
While debugging it on my server it gives the same error "Object Reference Not Set to an Instance of an Object".
Debug Out put last errors are as follows:
A first chance exception of type 'System.IndexOutOfRangeException' occurred in mscorlib.dll
'TAMPA800.exe': Loaded 'C:\Windows\SysWOW64\sxs.dll'
First-chance exception at 0x76afe124 in TAMPA800.exe: Microsoft C++ exception: EEMessageException at memory location 0x0036ecec..
A first chance exception of type 'System.IO.FileNotFoundException' occurred in TAMPA800.exe
A first chance exception of type 'System.NullReferenceException' occurred in TAMPA800.exe
The thread 'Win32 Thread' (0x460) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xdb8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xfdc) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xfb4) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xdc8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xe04) has exited with code 0 (0x0).
The program '[3872] TAMPA800.exe: Managed' has exited with code 0 (0x0).
The program '[3872] TAMPA800.exe: Native' has exited with code 0 (0x0).
Regards
John -
[ODBC Driver Manager] Function sequence error
Hi all,
i´m trying to built an webservice and if i try to run my code i get following
error: [ODBC Driver Manager] Function sequence error .CAn someone tell me what
this means?
Here comes my code:
static String Daten(int Nummer)
java.sql.Connection conn = null;
java.sql.Statement stmt = null;
try
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,
"t3://localhost:7001");
// Get a context for the JNDI look up
ctx = new InitialContext(ht);
javax.sql.DataSource ds
= (javax.sql.DataSource) ctx.lookup ("webservice-data-source");
conn = ds.getConnection();
System.out.println("Making connection...\n");
// execute some SQL statements to demonstrate the connection.
stmt = conn.createStatement();
System.out.println("Vor ResultSet");
ResultSet result = stmt.getResultSet(); //Bringt Fehler
final Vector erstespalte = new Vector();
final Vector zweitespalte = new Vector();
final Vector drittespalte = new Vector();
final Vector Zeilen;
final Vector end = new Vector();
try {//2.Block
stmt.executeQuery("Select * from Person where Kundennummer=5");
while(result.next())
erstespalte.add(result.getObject(1));
zweitespalte.add(result.getObject(2));
drittespalte.add(result.getObject(3));
Zeilen = new Vector();
for(Enumeration a = erstespalte.elements() ; a.hasMoreElements()
for(Enumeration b = zweitespalte.elements() ;b .hasMoreElements()
for(Enumeration c = drittespalte.elements() ; c.hasMoreElements()
Zeilen.add(a.nextElement());
Zeilen.add(b.nextElement());
Zeilen.add(c.nextElement());
end.add(Zeilen);
}System.out.println(end);
result.close();
}//2.try-Block
catch (SQLException e) {
System.out.println(e);
}//1.try-Block schliessen
catch (Exception e) {
System.out.println("Exception was thrown: " + e.getMessage());
finally {
try {
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
catch (SQLException sqle) {
System.out.println("SQLException during close(): " + sqle.getMessage());
}//finally-Block schliessen
return ("HAllo");
}//Methode abschliessen
Thank you very much for helping !!!Please post this in the JDBC newsgroup: weblogic.developer.interest.jdbc
Also, please include your full error message.
-- Rob
Hakan wrote:
Hi all,
i´m trying to built an webservice and if i try to run my code i get following
error: [ODBC Driver Manager] Function sequence error .CAn someone tell me what
this means?
Here comes my code:
static String Daten(int Nummer)
java.sql.Connection conn = null;
java.sql.Statement stmt = null;
try
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,
"t3://localhost:7001");
// Get a context for the JNDI look up
ctx = new InitialContext(ht);
javax.sql.DataSource ds
= (javax.sql.DataSource) ctx.lookup ("webservice-data-source");
conn = ds.getConnection();
System.out.println("Making connection...\n");
// execute some SQL statements to demonstrate the connection.
stmt = conn.createStatement();
System.out.println("Vor ResultSet");
ResultSet result = stmt.getResultSet(); //Bringt Fehler
final Vector erstespalte = new Vector();
final Vector zweitespalte = new Vector();
final Vector drittespalte = new Vector();
final Vector Zeilen;
final Vector end = new Vector();
try {//2.Block
stmt.executeQuery("Select * from Person where Kundennummer=5");
while(result.next())
erstespalte.add(result.getObject(1));
zweitespalte.add(result.getObject(2));
drittespalte.add(result.getObject(3));
Zeilen = new Vector();
for(Enumeration a = erstespalte.elements() ; a.hasMoreElements()
for(Enumeration b = zweitespalte.elements() ;b .hasMoreElements()
for(Enumeration c = drittespalte.elements() ; c.hasMoreElements()
Zeilen.add(a.nextElement());
Zeilen.add(b.nextElement());
Zeilen.add(c.nextElement());
end.add(Zeilen);
}System.out.println(end);
result.close();
}//2.try-Block
catch (SQLException e) {
System.out.println(e);
}//1.try-Block schliessen
catch (Exception e) {
System.out.println("Exception was thrown: " + e.getMessage());
finally {
try {
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
catch (SQLException sqle) {
System.out.println("SQLException during close(): " + sqle.getMessage());
}//finally-Block schliessen
return ("HAllo");
}//Methode abschliessen
Thank you very much for helping !!! -
Error occurred in derivation rule. See long text ; Message no. K/110
I am facing the below error when posting document in FI
Error occurred in derivation rule. See long text
Message no. K/110
CO-PA Characteristic Derivation
Diagnosis
Step 0166 5400: Profit Center in Inventory Posting
No derivation rule entry was found for the specified source values valid
on 02.04.2014.
The derivation rule was defined so that an error message is displayed
when this occurs.
The system could not find a rule entry valid on 02.04.2014 for the
following source fields:
Product Group
Procedure
Create a rule entry for these source values and make sure that rule
entries exist for all the source values.
If you do not want the derivation to be performed in every instance, you
can also change the derivation rule so that no error message is
displayed if a rule entry is missing.
Maintain entries
Maintain derivation strategy
In KEDE:
In KEDR:
Please help me what might be the reason.Hi Thanga,
I don't think this is the right group to ask questions relevant to Controlling-Profitability Analysis.
otherwise, it seems in your 'Characteristic Derivation/ Display Rule values' you are missing an argument 'to Product Group', therefore the system gives you this error 'The system could not find a rule entry valid..'.
hope this will help you.
Kind regards,
Renatas -
Error occurred in derivation rule
Dear All,
After saving the billing document, & it is not realesed to A/c. Document.My client came across the following error;
Error occurred in derivation rule. See long text
Message no. K/111
CO-PA Characteristic Derivation
Diagnosis
Step 0031 Category --> Item Category Dummy
No entry in a derivation rule was found for the specified source fields.
The derivation rule was set up so that an error message appears when this happens.
The required derivation rule entry would need the following source fields:
Customer
31970063
Procedure
Create an entry in a derivation rule for these source field values. Make sure that entries exist for all the valid source field values. If the derivation should not always be carried out, you can also define a derivation rule so that no error message appears if a derivation rule entry does not exist.
Maintain entries
Maintain derivation strategy
Waiting for the response.
Thanks & Regards,
SPTHi,
Check value fields assigned to each condition types and take a help of FICO consultant.
Use this link to understand what configuration steps need to be taken accross.
http://help.sap.com/saphelp_46c/helpdata/en/7a/4c38e14a0111d1894c0000e829fbbd/content.htm
Thanks,
Swamy H P -
Running SQL Procedure with dg4msql errors: Function sequence error HY010
I am trying to execute a stored procedure on a SQL database and get the error Function sequence error HY010.
A simple query on a table returns teh expected result.
I have a single Win2008R2 server with MSSQL Express 2008 and Oracle 11gR2 (32bit not 64bit version of Oracle)
Below is the gateway init, listener and tnsnames files and the query I am trying to run:
-- initORIONWASP.ora --
HS_FDS_CONNECT_INFO=INGRDB//waspForGIS
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
HS_CALL_NAME=dbo.spTest;dbo.spQueryAsset;dbo.spQueryAssetDetails
HS_FDS_PROC_IS_FUNC=TRUE
HS_FDS_RESULTSET_SUPPORT=TRUE
-- Listener.ora -- (partial)
(SID_DESC =
(SID_NAME = ORIONWASP)
(ORACLE_HOME = C:\Oracle\product\11.2.0\dbhome_1)
(PROGRAM=dg4msql)
-- tnsnames.ora -- (partial)
ORIONWASP =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=INGRDB)(PORT=1521))
(CONNECT_DATA=(SID=ORIONWASP))
(HS=OK)
-- Simple Query --
Running select "Asset_ID" from asset@ORIONWASP; returns the correct result
Running select * from sys.procedures@ORIONWASP; returns a list of procedures including the procedure I want to run
-- This pl/sql block returns the error ******* identifier 'spTest@ORIONWASP' must be declared *******
declare
begin
"spTest"@ORIONWASP;
end;
-- This passthrough pl/sql block returns ******** [Oracle][ODBC SQL Server Driver]Function sequence error {HY010} ********
DECLARE
CRS BINARY_INTEGER;
RET BINARY_INTEGER;
v_COL1 VARCHAR2(50);
v_COL2 VARCHAR2(50);
BEGIN
CRS := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@ORIONWASP;
DBMS_HS_PASSTHROUGH.PARSE@ORIONWASP(CRS, 'exec spTest');
BEGIN
RET := 0;
WHILE (TRUE)
LOOP
ret := DBMS_HS_PASSTHROUGH.FETCH_ROW@ORIONWASP(CRS, FALSE);
DBMS_HS_PASSTHROUGH.GET_VALUE@ORIONWASP(CRS, 1, v_COL1);
DBMS_HS_PASSTHROUGH.GET_VALUE@ORIONWASP(CRS, 2, v_COL2);
DBMS_OUTPUT.PUT_Line('Col1:'||v_COL1||' Col2:'||v_COL2);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
DBMS_OUTPUT.PUT_LINE('End of Fetch');
DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@ORIONWASP(CRS);
END;
END;
END;
/The gateway configuration file contains:
HS_FDS_PROC_IS_FUNC=TRUE
HS_FDS_RESULTSET_SUPPORT=TRUE
This setting commonly causes problems and you need to set
HS_FDS_PROC_IS_FUNC=TRUE
HS_FDS_RESULTSET_SUPPORT=FALSE
for normal procedure calls and
HS_FDS_PROC_IS_FUNC=FALSE
HS_FDS_RESULTSET_SUPPORT=TRUE
when calling the procedure with ref cursors.
There's a note in My Oracle Support that gives you examples how to call remote SQl Server procedures
Note.197192.1 Different Methods How To Call MS SQL Server Procedures Using TG4MSQL - DG4MSQL
and another one for the Sybase gateway but this code is similar for the SQL Server:
Article-ID: Note 351400.1
Title: How to Call a Remote Sybase Procedure Using TG4SYBS -
Hi,
I've a pro C code which is currently connecting to Oracle 9i DB through 8.0.6 client. Now I've recompiled the same code with 9.2.0.6 client. Whenever it comes to a code involving cursors, I'm getting a fetch out of sequence error. I use ref cursors with no FOR UPDATE clause. What else could be issue? PLease help
Regards,
DavidI'm pasting the relavant part.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>
#define CREW_FETCH_STARTUP 1000
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR la_s_dbcr_crew_id_startup [1000][11];
VARCHAR la_s_dbcr_crew_name_startup [1000] [8];
short int li_cr_tmp_ind1_startup,
li_cr_tmp_ind2_startup;
SQL_CURSOR CREW_ACTIVE_CUR;
int vb_cr_sent_count = 0;
EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE SQLCA;
EXEC SQL INCLUDE GP_SQL_Def;
EXEC ORACLE OPTION (MAXOPENCURSORS=20);
EXEC SQL ALLOCATE :CREW_ACTIVE_CUR;
EXEC SQL EXECUTE
BEGIN
PKG.PROCESS_CREW_STARTUP(:ls_cr_param_market_area, 2, :CREW_ACTIVE_CUR,
:dummy1, :dummy2, :return_code, :return_msg);
END;
END-EXEC;
for(ln_ctr1=0;ln_ctr1 < CREW_FETCH_STARTUP;ln_ctr1++) {
VAR_INIT(la_s_dbcr_crew_id_startup[ln_ctr1]);
VAR_INIT(la_s_dbcr_crew_name_startup[ln_ctr1]);
la_i_cr_tmp_ind1_startup[ln_ctr1] = 0;
la_i_cr_tmp_ind2_startup[ln_ctr1] = 0;
EXEC SQL
FETCH :CREW_ACTIVE_CUR
INTO :la_s_dbcr_crew_id_startup :la_i_cr_tmp_ind1_startup,
:la_s_dbcr_crew_name_startup :la_i_cr_tmp_ind2_startup;
MessageBox(NULL,lc_s_crew_tmp_msg_str,lc_s_crew_tmp_msg_str,MB_OK);
if (sqlca.sqlcode < 0) {
if (DEBUG_CE) {
sprintf(lc_s_crew_tmp_msg_str,"Error in Fetch Cursor(CREW_ACTIVE_CUR) (%s)",
sqlca.sqlerrm.sqlerrmc);
MessageBox(NULL,lc_s_crew_tmp_msg_str,lc_s_crew_tmp_msg_str,MB_OK);
return -1;
} -
SQL developer 3.1 throws Function sequence error
Hi,
I was able to connect to my remote timesten db and was able to compile and execute packages.
I tried modifying one of my packages to include dbms_lock.sleep in my code and then compiled the package.
while running the package i got some error related to locking.
The strange this is after this i am not able to connect to the timesten db using sql developer.
An error is thrown, "Could not connect to the database Function sequence error"
I tried restarting the timesten server and then also the same error exists.
How can i resolve this?
regards
LalHi,
This looks like a problem with the SQL*Developer Early Adopter release itself so it would be better if you opened a new thread in the SQL*Developer forum -
SQL Developer
That is monitored by the developers more than this thread so they are more likely to see it.
Regards,
Mikei -
Error occurred in derivation rule in SAP
Hi All
i am trying to post the document as well to create the new PR i am getting the below error messge as
'Error occurred in derivation rule. See long text
Message no. K/101
Diagnosis
: Fund From Commitment Item
No entry in a derivation rule was found for the specified source fields.
The derivation rule was set up so that an error message appears when this happens.
The required derivation rule entry would need the following source fields:
Commitment Item
350801
Procedure
Create an entry in a derivation rule for these source field values. Make sure that entries exist for all the valid source field values. If the derivation should not always be carried out, you can also define a derivation rule so that no error message appears if a derivation rule entry does not exist.Hi Krishguna,
You need to check your derivation rule, T. Code: FMDERIVE for Fund then activate the trace, this will help you why fund is not deriving from commitment item, or tell us the detail of derivation for fund you have set.
Thanks
Javed -
Error occurred in derivation rule. See long text, Message no. ABADR100,
Hi
I am making some testing and I have the following message , which is about the functional area. I did not use the FM derive:
Error occurred in derivation rule. See long text
Message no. ABADR100
Diagnosis
SAP - Original Generic 4.7 Ver: Funded Program fro
No derivation rule entry was found for the specified source values valid on 22.06.2011.
The derivation rule was defined so that an error message is displayed when this occurs.
The system could not find a rule entry valid on 22.06.2011 for the following source fields:
Financial Management Area/Functional Area
Z001/6000
Procedure
Create a rule entry for these source values and make sure that rule entries exist for all the source values.
If you do not want the derivation to be performed in every instance, you can also change the derivation rule so that no error message is displayed if a rule entry is missing.
please helpHi Thanga,
I don't think this is the right group to ask questions relevant to Controlling-Profitability Analysis.
otherwise, it seems in your 'Characteristic Derivation/ Display Rule values' you are missing an argument 'to Product Group', therefore the system gives you this error 'The system could not find a rule entry valid..'.
hope this will help you.
Kind regards,
Renatas -
Business Rule Sequence Error in Planning
Hello Everyone,
I have a Planning application where users can run a sequence of rules by going to Tools > Business Rules and selecting the sequence. The sequence has about 8 rules in it. The sequence errors after the 7th rule (a currency conversion/calculation which takes upwards of 12 minutes). The logs do not say anything about an error, however, it does say that the active user was cleared on the database. (The BR log says that the rule never finished but the Essbase log says that it finished. The following rule in the sequence never starts.
Note: The business rule sequence completes without errors when the sequence is started from Essbase Administration Services.
Is there some type of timeout/setting update I should look at or any suggestions on where to look within the business rule?
Thank you,
MarkHi,
Have a read of the following :- http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_hp_admin/ch02s07s04.html
It explains how to set the threshold before business rules are run in the background to get around timeouts.
Cheers
John
http://john-goodwin.blogspot.com/ -
Log sequence error - possible causes?
We're using C++, DBXML 2.1.7, with underlying Berkeley 4.3.28 - core 5 linux (2.6.16.28). We use transacted write's, with no nesting of transactions. We've been running with this version of DBXML for some time and this is the first time we've seen any sort of data corruption with the database.
In this case, the database server was shutdown, and the system restarted - on restart, the database server core dumped. Repeated attempts to restart the database gave the same failure. We enabled error output for the Berkeley DB and we get the following errors:
Finding last valid log LSN: file: 1 offset 8234100
Recovery starting from [1][7965842]
Log sequence error: page LSN 1 1664073; previous LSN 1 5236280
Recovery function for LSN 1 8228918 failed on forward pass
PANIC: Invalid argument
PANIC: fatal region error detected; run recovery (repeated several times)
followed by a segfault in libdb_cxx-4.3.so.
So I have 2 questions, the first (and most important) being - how can the log file get corrupted? Is this an OS/file system problem? Or could we have a problem in our database server? It's relatively simple - there is a single thread for read's/write's, and a separate "checkpoint" thread that periodically calls the txn_checkpoint function. Something was just changed on the system that has to do with mirroring, specifically on the partition that holds our database, but I don't know the details (I can get the info, though).
The second question - why is Berkeley choking on the error path, instead of causing a database panic? Granted, in this situation it would appear that we're hosed either way, but a panic is at least a little more user-friendy than a core dump. Looking at the core file, it appears that we've entered the error handling portion of dbenv_open, and the mp_handle of the environment object is NULL - we fail in the call to __dbenv_refresh because of that. (If you're interested, we rebuilt Berkeley with debug symbols - I can give you a stack trace with details for the segfault.)
Oh, the startup flags for the database server are: DB_CREATE|DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_MPOOL|DB_INIT_TXN|DB_RECOVER|DB_THREAD
Thanks!
WendyThanks Michael -
Here's the stack trace from one of the core files, generated with the debug version of the library:
#0 0xb7d97c3a in __dbenv_refresh (dbenv=0x80b5430, orig_flags=1024,
rep_check=0) at ../dist/../env/env_open.c:722
#1 0xb7d9993d in __dbenv_open (dbenv=0x80b5430,
db_home=0x80b5334 "/pivot3/repository/xml", flags=188513, mode=432)
at ../dist/../env/env_open.c:415
#2 0xb7d1fe78 in DbEnv::open (this=0xbfa94488,
db_home=0x80b5334 "/pivot3/repository/xml", flags=188513, mode=0)
at ../dist/../cxx/cxx_env.cpp:442
#3 0x0804e0e8 in main (argc=134537448, argv=0xbfa94488) at dbserver.cxx:179
As to the "why's": the database files are never moved (in normal operation - I did copy them to a similar system for debug, but the failure is the same on both systems), we always run recovery when we restart the server, we never physically access the environment outside of the server, and there is only one database server on the system, so no "cross contamination" from another server (basically, we're using DBXML as an embedded database to store configuration information - we have it running on multiple, identical systems, and this is the first time in over 2 years that we've seen any sort of database corruption).
So based on what you've said, the only other real possibility is if something happened to the partition holding the log file (all of the database files are on the same partition). Would there be any smoking guns we could look for on the physical system that might indicate what happened? The system that the failure originally occurred on is still in the 'last booted' state, in case there was anything that we could look for. The partition mirroring changes were just made this past week, which is why we thought it might be something at a lower level.
I just ran db_printlog and the entry for 1664073 looks like this:
[1][1664073]__bam_repl: rec: 58 txnid 80000047 prevlsn [0][0]
fileid: 21
pgno: 3
lsn: [1][8228918]
indx: 3
isdeleted: 0
orig: 0xc
repl: 0x11
prefix: 8
suffix: 23
The other record (5236280) does not exist in the log file, based on the output from db_printlog.
If there's anything else from the log print that you need, just let me know.
Thanks! -
Function sequence error / Recursive functions error
Hi! I've a little problem over here. I have an application (servlet) that makes recursive functions with DB access. This function contains a resultset that calls the same function again until no more data is found. The problem, is that I'm using JDBC-ODBC bridge (because this must work in SQL Server, Informix, Sybase, Access and Oracle), so I need to make commit of the connection in every resultset. If I make the commit inside the resultset, I got a "Function Sequence error" exception. Of course, I can't close every statement inside the resultset (or at least I don't know how). My code looks like this:
public void myfunction(String odbc,String data1,String data2) throws SQLException,Exception{
//this class, myclassDB, just return a established connection with the DB
Connection connection = myclassDB.connect(odbc);
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("query");
while(rs.next()){
//do something with the information
//make recursive
connection.commit();
myfunction(odbc,data1,data2);
statement.close();
connection.close();
}Hope you can help me!
Feel free to email me at [email protected]
Regards!I am not really sure what the question is but...
Presuming that there isn't something wrong with your design (which recursive calls suggest) then you need to extract all of the data, close the resultset/statement then do the recursive calls. If you do processing first then you can still commit on the connection.
Maybe you are looking for
-
I recently upgraded to Creative Suite CS5 (on Windows XP). Previously I had Illustrator CS3 & Photoshop CS3 and used Bridge to manage/view my swatches (both in AI & ASE). Now that I have "upgraded" I can't seem to view the ASE files in Bridge CS5 a
-
I have os 10.6.5, but can't get the mac app store
I would like to access the App Store, and even though I have version 10.6 as stated in the requirements, I don't have it on my computer nor can I run software update to get it as the App Store page suggests. My "About This Mac" window says I'm runnin
-
I want to see list of Disabled user from AD and LDAP
Hi i wan see the list of disabled user from AD and LDAP and it shows in the next page as Tabular format having all the details of AD (Attributes)
-
Exception occurred while reading the license file.
Hi, I am having the Weblogic 9.2 server installed on 64 bit JVM on Solaris. I have some EJB's deployed over there. When I use to try to connect to these EJB's from Windows 32 bit OS I am getting the following error. Exception in thread "main" java.la
-
Trying to use the small perl script referred to in the message down below to send mail from the command line using unix mail. Any advice about what the error message immediately below refers to will be appreciated. "smtp.mac.com" is not exported by t