Update statement in Oracle Lite
Hi
I'm having a problem when I do an Update on the database.
if I set a column which is a primary key in the table with the same value I get a foreign key error.
Ex: update company set company_id = 1 where company_id = 1;
in Oracle 8i there is no problem ,but when I run it in 8i Lite a get the foreign key error.
I appreciate any help
Is it necessary to update the entire record in Oracle Lite, or should it be possible to update select columns only when performing an update query?
Thanks,
Allen
Similar Messages
-
Writing an update statement in oracle forms 9i
Hi ,
I have a problem situation in which
I am fetching values from a cursor and a recod group into two data block items text box and combo box respectively .
Both the data is fetched from different tables .
Now based on the selection from combo box I have to update the selected value in another table by writing an update statemet .
I have created a button and on the trigger event of when button pressed I wrote a simple update statement but it's not working that way .
Kindly help me how to write manual update statements in oracle forms 9i
I can't used the update buil in of forms as I want to update in a table which is not mentioned in the property pallete of data block
please helpI just wrote a procedure
PROCEDURE update_current IS
BEGIN
update table abc set xculumn= :block_name.item_name2 where ycolumn = :block_name.item_name1 ;
commit;
and I called the procedure from a when button pressed trigger
it gave an error invalid identifier abc ( which is table name)
pls help
I am trying to do it with form_ddl(update_query)
but here I am facing another problem
I have update_query = 'update table abc set xculumn= ' || :block_name.item_name2 || 'where ycolumn = '||:block_name.item_name1
now since xculumn and y column are varchar type so I suppose while preparing the query I have to concatenate single quotes ( ' ) at the start and end
but i am facing problems in doing so
please tell me an alternative way or how to concatenate single quotes in the above update_query variable -
On JDBC statement, there is the method 'cancel' to instruct the database to cancel an executing statement. This works fine on Oracle server database, but not on Oracle lite database. The method call 'cancel' just blocks and the running statement is never interrupted.
The example I tried is very simple. There is a thread started which executes a long running statement. I noticed, that when moving the cursor forward by calling rs.next(), it just blocks. That would be ok, if the statement could be canceled from within the main thread by stmt.cancel. But this call blocks as well with no implact on the running statement. Why is that? Do I miss something or is it not possible to cancel a long running statements in Oracle Lite?
In the following my code snipped:
public class CancelStatement {
private static final String PATH_DB = "XX";
private static final String PATH_LIB = "XX";
private static final String CON_STRING = "jdbc:polite:whatever;DataDirectory=" + PATH_DB + ";Database=XX;IsolationLevel=Read Committed;Autocommit=Off;CursorType=Forward Only";
private static final String USER = "XX";
private static final String PASSWORD = "XX";
public static void main(String args[]) throws Exception {
System.setProperty("java.library.path", PATH_LIB);
Class.forName("oracle.lite.poljdbc.POLJDBCDriver");
Connection con = DriverManager.getConnection(CON_STRING, USER, PASSWORD);
Statement stmt = con.createStatement();
Thread thread = new Thread(new LongStatementRunnable(con, stmt));
thread.start();
Thread.sleep(3000);
// stop long running statement
System.out.println("cancel long running statement");
stmt.cancel(); // XXX does not work, as call is blocked until out of memory
System.out.println("statement canceled");
private static class LongStatementRunnable implements Runnable {
private Connection con;
private Statement stmt;
public LongStatementRunnable(Connection con, Statement stmt) {
this.con = con;
this.stmt = stmt;
@Override
public void run() {
try {
System.out.println("start long running statement...");
// execute long running statement
ResultSet rs = stmt.executeQuery("SELECT * FROM PERSON P1, PERSON P2");
while (rs.next()) { // here the execution gets blocked
System.out.println("row"); // is never entered
rs.close();
stmt.close();
con.close();
System.out.println("long running statement finished...");
} catch (Exception e) {
e.printStackTrace();
}I would be very glad if you could help me.
Thanks a lot
Daniel
Edited by: 861793 on 26.05.2011 14:29Unfortunately Oracle Lite doesn't have this option. You can call your statement from a second thread as you have done, but you won't be able to kill or cancel this operation. The only way to get fix this is by rebooting. You can use process explorer to find the dll process that is executing the SQL, but the tables will be locked and sync would be locked as well until the process is finished running in shared memory.
-
Convert a SQL Server Update Statement for Oracle
Hi,
i need to convert an update statement written for SQL Server to make it work on Oracle,
the update is the following:
UPDATE TABLE1
SET CDate = TBL2.CDate
FROM TABLE1 TBL1
JOIN TABLE2 TBL2 ON TBL2.Code = TBL1.TBL2Code
JOIN TABLE3 TBL3 ON TBL3.Id = TBL1.Id
WHERE TBL3.TypeCode = '07'
how can i make it compatible with oracle?
thanks!!Billy Verreynne wrote:
Karthick_Arp wrote:
Try this
<snipped>Dislike such an approach that requires multiple hits on the same tables. This is never scalable. A key performance issue is to do only one pass through a data set when possible and not do multiple passes.Yes i understand. But to do a update on a join the table must be a Key Preserved Table. And for a normal Update it is necessory to have an EXISTS clause so that we dont update the non-matching rows to NULL. -
Please tell me the background proces of update statement in oracle
1. user excuted update and inset statement from sqlplus ,
please give me the flow in oracle architecture
2. user excuted commit and roll back also
please give me the flow in oracle architecture
ThanksAs Pierre Forstmann said answer can vary according the details you want. If you want it to be in four lines than I hope this it.
For select
search shared pool a copy of parsed sql
validate statement
validate data sources
acquire locks
check privileges
prepare parse tree or execution plan and place in library cache
execute statement - retrieve data form file to buffer cache
fetch vales from the cursor
For DML
there are several differences between how Oracle executes select and DML
however, they follow the same general pattern
parse statement - create parse tree
execute the statement - acquire locks on the data to be changed
generate redo
For commit or rollback
release table/row locks acquired by statement
release undo segment
update redo with commit/rollback information
flush the content from log buffer to redo files
I suppose the documentation provided above is best place where you can find the details -
Update statement with Case syntax
I want to put case statement in an update statement using Oracle 10g
I'm getting a syntax error on the last line Ora-00933: SQL command not properly ended
Help please
UPDATE EMP a
SET EMP.TYPE = CASE
WHEN 'Y' = 'A' THEN 'DIV'
WHEN 'Y' = '1' THEN 'DEF'
END CASE;Hi,
Samim wrote:
I want to put case statement in an update statement using Oracle 10g
I'm getting a syntax error on the last line Ora-00933: SQL command not properly ended
Help please
UPDATE EMP a
SET EMP.TYPE = CASE
WHEN 'Y' = 'A' THEN 'DIV'
WHEN 'Y' = '1' THEN 'DEF'
END CASE;The closing keyword that corresponds to "CASE" is "END", not "END *CASE* ".
The string 'Y' is never equal to 'A', or to '1'.
If you have a column named y in the table, then you might want to say:
UPDATE EMP
SET EMP.TYPE = CASE
WHEN Y = 'A' THEN 'DIV'
WHEN Y = '1' THEN 'DEF'
END;I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statemnts to re-create your emp table as it exists before the UPDATE), and the results you want from that data (that is, the contents of the emp table after the UPDATE). -
Hi all,
can you guys help me in understanding how an update statement works in oracle...
Thanks
Rajeshi mean what happens in background in oracle server
when i fire a update statement.The oracle server puts the old data (i.e before updation) into the RBS and then updates the rows with the new data.
Regards
Amit Raghuvanshi -
How a update statement works internally in oracle
Hi,
I just wanted to know when a user issues a update (any DML) statement, what are all the steps involved?
Like when user updated some statement, the modified block goes to the undo tablespace and new data will be stored in the user PGA and when user issues a commit statement.Does it delinked it from the uno tablespace and lgwr flushed the block to the redo logfile(does the lgwr also flushed the uncommited changes to the logfile as datafile stores the committed as well as uncomitted data).Can anybody suggest me how all the things work internally?Hi,
Many of the people post across the same questions and lot of discussions carried out. You can you answer straight from Oracle Docs.
Any how refer to the following below links
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:288016031632
Update Statement-10G
- Pavan kumar N -
Oracle Lite Multi Column Updates
I am new to Oracle Lite. I had heard that there is some problem with Oraclelite w.r.t. handling multi column update. Something like this MAY or MAY NOT work:
Update Emp
set ename = 'ABC',
job = 10,
desc = (select 'desc' from dual)
where empno = 10;
Is that true? Any feedback...
Thanks,
SDI am new to Oracle Lite. I had heard that there is some problem with Oraclelite w.r.t. handling multi column update. Something like this MAY or MAY NOT work:
Update Emp
set ename = 'ABC',
job = 10,
desc = (select 'desc' from dual)
where empno = 10;
Is that true? Any feedback...
Thanks,
SD I have not seen or heard of any multi-column update issues as of 5.0.1 -
Can you force a Oracle Update Statement to use a specific database thread?
We are attempting to write a Oracle Update Statement to update a value on all records in a single column. We are updating a column with a value found in a history table. Simple enough. We do it all the time. It works but we are having contention issue with users on the system using the main database threads and updating the same table at the same time. So what is happening is the update uses up all the available database threads and then the users just get timeouts and can't update. What we are trying to determine is can I write it to force the update statement to use a specific thread on the database when it is running?
Here is the current update statement
UPDATE
TASK_DATA TSK
SET
dttSTATUS_WORK_IN_PROGRESS_TIM =
SELECT
HIS.T5
FROM
H2839 HIS
WHERE
TSK.REQUEST_ID = HIS.ENTRYID
AND
HIS.T5 IS NOT NULL
AND
TSK.dttSTATUS_WORK_IN_PROGRESS_TIM IS NULL
Edited by: user11307503 on Oct 21, 2009 3:47 PMthe update uses up all the available database threads and then the users just get timeouts and can't updateI'm not convinced that you're got a clear picture of how Oracle works and what is going on here.
You're updating TASK_DATA, the whole table.
Writers don't block readers - that's a key principle of Oracle.
But if all the other users are trying to update a row or rows in TASK_DATA at the same time as your other process is updating all rows in the table, then there's going to be contention.
This is not about "using up all available database threads" - that's nonsense.
This is (probably) about sessions trying to update rows that your other process has locked.
1. Get a clear picture of what the sessions are waiting on - it's probably TX locks.
2. How many rows are you updating with this update on TASK_DATA?
3. How long does it take? How often do you do it? Is there no quieter time when you can do it? -
Update statement works in oracle RAC
Hi Experts,
How the update statement works in oracle RAC environment.
And why we need a separate redo for each instance what will happen if we wont give.
Regrds
Suneeluser1175505 wrote:
Hi Experts,
How the update statement works in oracle RAC environment.UPDATE does not know or care if it on RAC or single instance.
And why we need a separate redo for each instance what will happen if we wont give.you can't start Oracle DB without any REDO.
Handle: user1175505
Status Level: Newbie
Registered: Jun 9, 2010
Total Posts: 610
Total Questions: 249 (182 unresolved)
WOW! Why do you waste your time here when you rarely get answers to your questions? -
Write an UPdate statement using the logic used in PL/SQL block (oracle 10g)
Hi All,
I have written the following PL/SQL block. I want to write an UPDATE statement using the logic used in the following PL/SQL block. can any one please help me out in this regards.
DECLARE
v_hoov_fag gor_gold_post.hoov_flg%TYPE;
v_b49n gor_gold_post.b49n%TYPE;
CURSOR c
IS
SELECT bs_id, loyalty_date, loyalty_period, contract_date
FROM gor_gold_post
WHERE tariff_code IN (169, 135, 136);
BEGIN
FOR rec IN c
LOOP
IF (TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
- SYSDATE) < 304
OR ( TRUNC ( ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
- SYSDATE
) IS NULL
AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2
THEN
v_hoov_flg := 1;
ELSE
v_hoover_flag := 99;
END IF;
IF (TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
- SYSDATE) < 121.6
OR ( TRUNC ( ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
- SYSDATE
) IS NULL
AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2
THEN
v_b49n := 1;
ELSE
v_b49n := 99;
END IF;
UPDATE gor_gold_post
SET hoov_flg = v_hoov_flg,
b49n = v_b49n
WHERE bs_id = rec.bs_id AND tariff_code IN (169, 135, 136);
COMMIT;
END LOOP;
END;Thank you,Using case statement.
UPDATE gor_gold_post
SET hoov_flag = CASE WHEN TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) < 304
OR
(TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) IS NULL
AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2)
THEN 1
ELSE 99
END,
b49n = CASE WHEN TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) < 121.6
OR
(TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) IS NULL
AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2)
THEN 1
ELSE 99
END
WHERE tariff_code IN (169, 135, 136);Note: Code not tested. -
Install on vista with Oracle Lite Multiuser Service - SERVICE_START_PENDIN
Hi all,
I'm trying to install app server 10.1.3 on Vista, but on Configuration assistant screen, it stops at BPEL process manager configuration manager ,
error in oraInstall.err:
C:\Users\victoria\AppData\Local\Temp>echo updating ODBC.ini
updating ODBC.ini
C:\Users\victoria\AppData\Local\Temp>echo off
C:\Users\victoria\AppData\Local\Temp>echo updating ODBCINST.ini
updating ODBCINST.ini
C:\Users\victoria\AppData\Local\Temp>echo off
C:\Users\victoria\AppData\Local\Temp>echo updating POLITE.ini
updating POLITE.ini
C:\Users\victoria\AppData\Local\Temp>echo off
C:\Users\victoria\AppData\Local\Temp>exit
Oracle JAAS [Mon May 18 08:36:05 GMT 2009] admin password is changed successfully
opmnctl: starting opmn and all managed processes...
OliteService reports the following status:
The service is installed.
OliteService reports the following status:
The service start pending.
The current status of Oracle Lite Multiuser Service:
Current State : SERVICE_START_PENDING
Acceptable Control Code : (0x0)
installaction.log:
BUILD SUCCESSFUL
Total time: 3 minutes 35 seconds
C:\product\10.1.3.1\OracleAS_1\bpel\samples>ENDLOCAL
BUILD SUCCESSFUL
Total time: 4 minutes 43 seconds
Exit: 0
TASK: oracle.tip.install.tasks.UpdateConfigFiles
Updating configuration files ...
Exit: 0
TASK: oracle.tip.install.tasks.RegisterOlite
Registering Olite ...
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>set OB_HOME=C:\product\10.1.3.1\OracleAS_1\bpel
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>set OLITE_LIB=C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>set OLITE_BIN=C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>set PATH=C:\product\10.1.3.1\OracleAS_1\jdk\bin;C:\product\10.1.3.1\OracleAS_1\ant\bin;C:\oracle\product\10.2.0\db_1\bin;C:\app\product\11.1.0\db_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;C:\product\10.1.3.1\OracleAS_1\MOBILE\sdk\bin;C:\product\10.1.3.1\OracleAS_1\jdk\jre\bin\server
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>set CLASSPATH=C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN\olite40.jar;C:\product\10.1.3.1\OracleAS_1\MOBILE\Sdk\bin\OLITE40.JAR;
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN\olsv2040.exe /stop
OliteService reports the following status:
The service stop is pending.
OliteService reports the following status:
The service is stopped.
The current status of Oracle Lite Multiuser Service:
Current State : SERVICE_STOPPED
Acceptable Control Code : (0x0)
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN\olsv2040.exe /remove
OliteService reports the following status:
The service is removed.
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN\olsv2040.exe /install
OliteService reports the following status:
The service is installed.
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN\olsv2040.exe /start
OliteService reports the following status:
The service start pending.
OliteService reports the following status:
The service is running...
port = 1531
wdir = C:\Windows\system32
The current status of Oracle Lite Multiuser Service:
Current State : SERVICE_RUNNING
Acceptable Control Code : (0x1) SERVICE_ACCEPT_STOP
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>mkdir "C:\product\10.1.3.1\OracleAS_1\bpel\system\database\olite"
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>del /f "C:\product\10.1.3.1\OracleAS_1\bpel\system\database\olite\orabpel.odb"
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>"C:\product\10.1.3.1\OracleAS_1\bpel\..\Mobile\Sdk\BIN\createdb.exe" orabpel "C:\product\10.1.3.1\OracleAS_1\bpel\system\database\olite\orabpel.odb" manager
Database C:\PRODUCT\10.1.3.1\ORACLEAS_1\BPEL\SYSTEM\DATABASE\OLITE\ORABPEL.odb created (VolID = 1736).
C:\product\10.1.3.1\OracleAS_1\bpel\install\bin>exit 0
Could Not Find C:\product\10.1.3.1\OracleAS_1\bpel\system\database\olite\orabpel.odb
Oracle Lite CREATEDB Version 10.2.0.2.0.
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Exit: 0
TASK: oracle.tip.install.tasks.DeployApps
Deploy applications and adapters
Port value is 6003
Buildfile: bpminstall.xml
init-midtier:
Trying to override old definition of datatype echoproperties
common_update_server.xml:
Adding shared library apache.junit ...
Adding shared library oracle.db.lite ...
Adding shared library apache.commons 10.1.3 ...
Adding shared library apache.jdom ...
Adding shared library apache.slide ...
Running batch script by:
java admin_client.jar deployer:oc4j:opmn://victoria-PC:6003/home -script C:\product\10.1.3.1\OracleAS_1\bpel\system\services\install\ant-tasks/bpel_admin_client_script_sl.txt
Failed at "Could not get DeploymentManager".
This is typically the result of an invalid deployer URI format being supplied, the target server not being in a started state or incorrect authentication details being supplied.
More information is available by enabling logging -- please see the Oracle Containers for J2EE Configuration and Administration Guide for details.
update_server.xml:
restart.container:
Stopping home container ...
opmnctl: stopping opmn managed processes...
================================================================================
opmn id=victoria-PC:6200
no processes or applications matched this request
Restarting home container ...
opmnctl: starting opmn managed processes...
================================================================================
opmn id=victoria-PC:6200
0 of 1 processes started.
ias-instance id=oapp1013.victoria-PC
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ias-component/process-type/process-set:
default_group/home/default_group/
Error
--> Process (index=1,uid=503452990,pid=3000)
failed to start a managed process after the maximum retry limit
Log:
C:\product\10.1.3.1\OracleAS_1\opmn\logs\\default_group~home~default_group~1.log
init-midtier:
Setting up the dehydration store [olite]...
dehydrationStore:
Configuring data sources for olite dehydration store ...
Deploying ORABPEL Applications...
deploy-applications:
Deploying Oracle BPEL Process Manager ...
Copying 1 file to C:\product\10.1.3.1\OracleAS_1\bpel\system\services\lib
Copying 1 file to C:\product\10.1.3.1\OracleAS_1\bpel\system\services\lib
Copying 1 file to C:\product\10.1.3.1\OracleAS_1\bpel\system\services\lib
Updating jar: C:\product\10.1.3.1\OracleAS_1\bpel\system\services\lib\orabpel.ear
Running batch script by:
java admin_client.jar deployer:oc4j:opmn://my-PC:6003/home -script C:\product\10.1.3.1\OracleAS_1\bpel\system\services\install\ant-tasks/bpel_deployapps.txt
Failed at "Could not get DeploymentManager".
This is typically the result of an invalid deployer URI format being supplied, the target server not being in a started state or incorrect authentication details being supplied.
More information is available by enabling logging -- please see the Oracle Containers for J2EE Configuration and Administration Guide for details.
Please advise what's wrong?
thanks
andrewThe following procedure describes the steps required to deploy the DbAdapter.rar file using admin_client.jar:
1. Copy the following libraries from server.xml in an OC4J_SOA container to a server.xml file for a new
container:
oracle.bpel.common
apache.junit
oracle.db.lite
apache.commons
apache.jdom
apache.slide
For example, for oracle.bpel.common, copy the following extract from one server.xml to another and
do the same for all other libraries:
<shared-library name="oracle.bpel.common" version="10.1.3">
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/classes"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/orabpel-common.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/orabpel-thirdparty.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/orabpel.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/bpm-infra.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/lib/wdk.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/connector15.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/orabpel-exts.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/orabpel-ant.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/ant_1.6.5.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/bipres.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/bicmn.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/jlib/uix2.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/jlib/jewt4.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/jlib/regexp.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/jlib/share.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/jdk/lib/tools.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/jlib/ldapjclnt10.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/schema"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/config"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/lib/bpm-services.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/lib/wfapi.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/lib/fndctx.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/lib/phaos.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/system/services/lib/pushapi.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/lib/oracle_http_client.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/uddiclient_api_v3.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/wasp.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/uddiclient_core.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/saaj.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/jaxm.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/builtin_serialization.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/core_services_client.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/bpel/registry/lib/jaxrpc.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/rules/lib/rl.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/rules/lib/rulesdk.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/rules/lib/webdavrc.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/rules/lib/jr_dav.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/webservices/lib/wsif.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5\integration\esb/lib/oraesb.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5\integration\esb/lib/bpm-ide-common.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5/rdbms/jlib/xdb.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5\integration\esb/lib/ide.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5\integration\esb/lib/javatools.jar"/>
<code-source path="D:\product\10.1.3.1\OracleAS_5\integration\esb/lib/xmleditor.jar"/>
<import-shared-library name="oracle.dms"/>
<import-shared-library name="oracle.jdbc"/>
<import-shared-library name="oracle.xml"/>
<import-shared-library name="oracle.jwsdl"/>
<import-shared-library name="soap"/>
<import-shared-library name="oracle.ws.client"/>
<import-shared-library name="oracle.toplink"/>
<import-shared-library name="apache.junit"/>
<import-shared-library name="oracle.db.lite"/>
<import-shared-library name="apache.commons.logging"/>
<import-shared-library name="oracle.cache"/>
<import-shared-library name="apache.commons"/>
<import-shared-library name="apache.slide"/>
<import-shared-library name="apache.jdom"/>
</shared-library>
2. Restart the container to make sure that server.xml was updated correctly.
3. From the configtools.log file find the opmn port number, for example:
deployer:oc4j:opmn://dimak.au.oracle.com:6012/home
dimak.au.oracle.com - is the machine name and
6012 - port number
4. Launch a new command prompt
and set path and classpath, for example:
set PATH=$ORACLE_HOME\jdk\bin;%PATH%
set classpath=.
where in the classpath there is only one entry - the dot, which stands for the current directory.
5. change directory to the following:
$ORACLE_HOME\j2ee\home
and run the following command (written all on one line) to deploy the DbAdapter:
java -jar admin_client.jar deployer:oc4j:opmn://dimak.au.oracle.com:6012/test oc4jadmin
manager1 -deploy -file $ORACLE_HOME\integration\esb\lib\DBAdapter.rar -deploymentName
DbAdapter2 -parent default
where
* dimak.au.oracle.com should be substituted with your machine name
* 6012 should be substituted with your port which you found in step 3
* test is the name of the container you want to deploy the adapter to
* manager1 should be substituted with your oc4jadmin password
* $ORACLE_HOME\integration\esb\lib\DBAdapter.rar is the location of the DBAdapter.rar file
* deploymentName DbAdapter2 - should be different from DbAdapter, as that name is already used in the OC4J_SOA container. -
Where is Oracle Lite DB installed? In Soa Suite inst. dir? Service needed?
As far as I know Soa Suite can use a separate "full" Oracle (Express) DB.
However user can omit this separate DB and use the built-in "Oracle lite" Database.
Is this Oracle lite DB installed in the installation directory of Soa Suite or somewhere else on the hard disc?
Does it need a Win service to run (similar to "full" Oracle DB) or does it run on-demand
in AppServer?
Peteryou can go from olite to full DB, but not the other way round. When you do this change you may lose state in your inflight messages.
to migrate from olite to Oracle DB do the following:
1.) Ensure that the new target database is running.
2.) Run IRCA script to create schemas for BPEL, ESB and OWSM in the new Database:
Eg: irca all "localhost 1521 v102" welcome -overwrite3.) Make a backup of the file:
${OC4J_HOME}\config\data-sources.xml4.) Change the following ESB and BPEL connection pools to point to new DB resource.
* BPELPM_CONNECTION_POOL
* ESBAQJMSPool
* ESBPool
You can use either Enterprise Manager Console to perform this changes or edit the file: ${OC4J_HOME}\config\data-sources.xml
Below is a sample of configuration for BPELPM_CONNECTION_POOL:
<connection-pool name="BPELPM_CONNECTION_POOL">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
user="orabpel_OracleAS_1"
password="orabpel" url="jdbc:oracle:thin:@localhost:1521:xe"/>
</connection-pool>5.) If you are changing from Olite DB to Oracle EE, look in the project's build.properties files for DB_URL and change DB_VENDOR from "olite" to "oracle"
DB_VENDOR=oracleotherwise no change is neccesary.
6.) Update ESB Metadata - Log into ESB schema (ORAESB) and change the value of DT_OC4J_HOST and DT_OC4J_HTTP_PORT to match your environment Hostname and Port and by running the following SQL script:
insert into esb_parameter values('ACT_ID_RANGE', '400');
insert into esb_parameter values('DT_OC4J_HOST', 'soainternal.mycompany.com');
insert into esb_parameter values('DT_OC4J_HTTP_PORT', '7777');
insert into esb_parameter values('PROP_NAME_INITIAL_CONTEXT_FACTORY', 'com.evermind.server.rmi.RMIInitialContextFactory');
insert into esb_parameter values('PROP_NAME_DEFERRED_TCF_JNDI', 'OracleASjms/MyTCF');
insert into esb_parameter values('PROP_NAME_DEFERRED_XATCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_DEFERRED_TOPIC_JNDI','OracleASjms/ESBDeferredTopic');
insert into esb_parameter values('PROP_NAME_ERROR_TCF_JNDI', 'OracleASjms/MyTCF');
insert into esb_parameter values('PROP_NAME_ERROR_XATCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_ERROR_TOPIC_JNDI', 'OracleASjms/ESBErrorTopic');
insert into esb_parameter values('PROP_NAME_ERROR_RETRY_JNDI', 'OracleASjms/ESBErrorRetryTopic');
insert into esb_parameter values('PROP_NAME_ERROR_RETRY_TCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_MONITOR_TCF_JNDI', 'OracleASjms/MyTCF');
insert into esb_parameter values('PROP_NAME_MONITOR_TOPIC_JNDI', 'OracleASjms/ESBMonitorTopic');
insert into esb_parameter values('PROP_NAME_CONTROL_TCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_CONTROL_TOPIC_JNDI', 'OracleASjms/ESBControlTopic');
commit;
select * from esb_parameter7.) Restart the SOA container and verify the opmn and J2EE container logs for any errors.
cheers
James -
Master detail against Oracle Lite was working, now broken -help?
I have a master detail form running against an Oracle Lite database which was working fine. Today I made several changes - added create method so I could default some values, changed background colors, connected to the rest of the columns in the child entity, changed some display formats.
Now whenever I try to update or insert on the child table I get errors:
DAC-305: DbAccess commitTransaction failed. Session: Session1
JBO-26041: Failed to post data to database during "Insert": SQL Statement " INSERT INTO CBC(DAY,HORSE_ID,WBC,HGB,HCT,PLT,MCHC,PMN,STAB,BASO,LYMPH,MONO,EOS,FECAL,MY,ALBUMIN,BL) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ".
Unhandled object
on insert, or
DAC-104: ImmediateAccess: setAttribute failed. ColumnView: Hct row: 1
JBO-26080: Error while selecting entity for Cbc
[ODBC S1C00] driver not capable of this operation
on update.
I've undone most of what I did today trying to figure out what broke it. Wish I had a backup! What gives? How do I debug this thing?
Thanks, BryanSolution:
For Oracle Lite anyhow, you must be careful to use the right data types in the BC4J EO (Entity Objects). Timestamp works, Date doesn't. BigDecimal works, number doesn't. If the wrong data type is set the application will read and display data, but attempts to insert new data or update existing data will throw the errors above.
Maybe you are looking for
-
How to Sync Multiple Iphones on the Same Computer
Does anyone know how to Sync two different Iphones on the same computer?
-
I am finding certain 'improvements' in Preview v5.5 quite irritating and pointless ('save a version', not asking to save a file, basically stuff that was well implemented in v5.0). If it ain't broke, don't frickin fix it, Apple! What's the point of t
-
Man-Hours Estimation template for BW objects
Hi, I tried to search for specific templates relating to Man-Hours Estimation for the development of BW objects like Extractor programs,datasources, infosources , Info Providers , Queries , Web reports etc. But I was not that successful. It would be
-
NIO SocketChannel truncating write from MappedByteBuffer
Hello! I'm running SDK build 1.4.1_01-b01 on Win2K (SP3), but I can also duplicate this on Linux (2.4 kernel). I'm writing a simple file server, and it uses the following code:FileInputStream fis = new FileInputStream(file); FileChannel fc = fis.getC
-
TM Network Backups Freezing up Host computer....
In my workgroup we have set up a 10.6 Mac Mini as a network backup for several other macs. There's three of us backing up our 10.6 Macs to a RAID1 array connected to the Mini via Firewire. Everything works great as long as the Mini is available, but