How to do an update sql statement
Hi all,
I have a custom login module that works with a package on the database on the same package i have methods to encrypt decrypt passwords. In order to create users i need to call this specific package and use its methods. Where can i write this sql code without having to connect myself manually to the database.
Carl
Hi,
I am confused the JNDI seems to be when you are using toplink and i dont think i specified it but i am using ADF BC or maybe there is a JNDI also i have looked to the data-sources.xml and i have tried several names of connection, name of the file nothing works i dont know which to take.
I included the source for my data-source so if it is in there if you could give me a hint on what to use i would appreciate.
<data-sources xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/data-sources-10_1.xsd">
−
<connection-pool name="jdev-connection-pool-TESTLNG">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="" password="" url="jdbc:oracle:thin:@0.0.0.0:1510:TEST_LNG"/>
</connection-pool>
<managed-data-source name="jdev-connection-managed-TESTLNG" jndi-name="jdbc/TESTLNGDS" connection-pool-name="jdev-connection-pool-TESTLNG"/>
<native-data-source name="jdev-connection-native-TESTLNG" jndi-name="jdbc/TESTLNGCoreDS" url="jdbc:oracle:thin:@0.0.0.0:1510:TEST_LNG" user="" password="" data-source-class="oracle.jdbc.pool.OracleDataSource"/>
−
<connection-pool name="jdev-connection-pool-CBJTEST">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="" password="" url="jdbc:oracle:thin:@0.0.0.0:1510:TEST_LNG"/>
</connection-pool>
<managed-data-source name="jdev-connection-managed-CBJTEST" jndi-name="jdbc/CBJTESTDS" connection-pool-name="jdev-connection-pool-CBJTEST"/>
<native-data-source name="jdev-connection-native-CBJTEST" jndi-name="jdbc/CBJTESTCoreDS" url="jdbc:oracle:thin:@0.0.0.0:1510:TEST_LNG" user="" password="" data-source-class="oracle.jdbc.pool.OracleDataSource"/>
</data-sources
ps i removed the adresses and username for security purposes.
Best Regards,
Carl
Similar Messages
-
How to retrieve first update SQL statement initiator (locking)
Hi!
i have a table called as
test ( A number, B varchar2(10));
1) inserted 1000 records
2) update test set A=A where A=1;
3) open new session issue update test set B=B where A=1;
reselt lock;
opened again a new session and issued this statement
COLUMN blocker format a15
COLUMN blockee format a15
SELECT (SELECT username || '.' || a.SID FROM v$session
WHERE SID = a.SID ) blocker, ' is blocking ',
(SELECT username || '.' || b.SID FROM v$session
WHERE SID = b.SID ) blockee, ' from executing: ',
(SELECT sql_text FROM sys.V_$SQL
WHERE address =
(SELECT sql_address FROM v$session WHERE SID = b.SID ) )
FROM v$lock a, v$lock b
WHERE a.BLOCK = 1 AND b.request > 0 AND a.id1 = b.id1 AND a.id2 = b.id2;
Result as:-
BLOCKER 'ISBLOCKING' BLOCKEE 'FROMEXECUTING:'
(SELECTSQL_TEXTFROMSYS.V_$SQLWHEREADDRESS=(SELECTSQL_ADDRESSFROMV$SESSIONWHERESI
SYS.159 is blocking SYS.144 from executing:
UPDATE TEST SET B=B WHERE A=1
question is how can i retrieve my first update sql statement i:e (initiator)....?
as (UPDATE TEST SET A=A WHERE A=1;)
Regards,Since releasing 10.2.0.1 several years ago Oracle has released patches to 10.2.0.2, 10.2.0.3, and 10.2.0.4. I would highly recommend you read the patch notes and get your system current.
I note that you did not answer my two follow-up questions leading me to assume you do not have the license to look at the tables and views supporting ASH and AWR. Without them I do not believe you can retrieve the information you seek.
I no longer have 10gR2 on my laptop so I am not sure but take a look at gv$session.
Do you have columns named "BLOCKING_SESSION_STATUS", "BLOCKING_INSTANCE" and "BLOCKING_SESSION"? If you do that might lead you to a way you could track it down via gv$sql. -
How can i use one SQL statement to solve problem?
How can i use one SQL statement to solve the question below?
For a Table named A, there is a column named F(char type).
Now select all the records where F like '%00' and update their F value to '%01'
Just one SQL statement.Do not use PL/SQL block.
How to do that?
Thanks.What is the data volume for this table?
Do you expect lots of rows to have '%00' as their value?
Following two statements come to mind. Other experts would be able to provide better alternatives:
If you have index on SUBSTR(f, 2):
UPDATE A
SET f = SUBSTR(f,
1,
length(f) - 2) || '01'
WHERE substr(f,
-2) = '00';If most of the rows have pattern '%00':
UPDATE A
SET f = SUBSTR(f,
1,
length(f) - 2) ||
DECODE(SUBSTR(f,
-2),
'00',
'01',
SUBSTR(f,
-2)); -
Update SQL statement, date possibilities
All,
Is it possible to format the date in the update sql statement of the sender JDBC adapter ?
the statement curdate() returns the date in this format 09-02-04.
But, I would like to have it in this format 20090204.
this is my update statement
UPDATE table SET status = 'X', date = curdate()
Anybody knows how to do this or via something else than curdate()
MichelHi Michel,
I am sorry i misunderstood the question.. how are you getting the data from curdate() may i ask. What exactly is curdate()?
Is it a field in the database that you are retrieving?
What you could do is create another dummy field and maitain the current date in that field, in the format you want it to. Then you could use that field in the update statement as tableName.fieldName.
Use this to manage your date checks. Only that you would have to modify the date in the database every day.
Regards,
Kshitij
Edited by: Kshitij Sharma on Feb 4, 2009 9:31 AM
Edited by: Kshitij Sharma on Feb 4, 2009 9:36 AM -
JDBC Adapter - Update SQL Statement - Timestamp
Hi All,
I'm using a JDBC Sender channel to bring information from a database, when I bring the data I want to UPDATE a field inserting the date and time (timestamp) when you got the info.
Sender Communication Channel: JDBC
Query SQL Statement: SELECT * FROM PI_Factory
Update SQL Statement: ????????
Could you tell me how to do this?Hi
please try the below query in Update sql statement
update table_name set fieldname = systimestamp where .....
or
update table_name set fieldname = current_timestamp where .....
Regards
Ramg. -
How could I find the SQL statement who get this message ?
ORA-01555 caused by SQL statement below (Query Duration=11191 sec, SCN: 0x0854.723b9c32)
... How could I find the SQL statement who got this message ?
Thanks, PaulORA-01555 means that the UNDO/ROLLBACK space is not large enough.
This occurs because the SELECT statement is attempting to read the UNDO, but the UNDO has been released (transactions have committed or rolled back) and reused.
The following are SOME of the reasons I have seen this to occur:
1) Updates in a loop, with commits happening in the same loop
- this will mark the UNDO available quickly and quickly reuse it. Then when the SELECT wants to rebuild a block, the UNDO used to rebuild the block has been reused (solution, make the UNDO bigger)
2) A SELECT cursor used to control a loop in which updates are performed, and a 'done' flag is marked against the current cursor record, and commits are performed at the end of each loop, prior to fetching the next record
- same problem as above, but it hits the current process. Same solution
3) A 'month end' activity spike occurs, and all sorts of transactions create updates. There is a report that reports the activity - amusingly it needs to start at the beginning of all the work and updates periodically by doing a huge SELECT up front. This is then used to drive a loop which attempts to get information from the various transactions that have been updated and committed. After a while, the SELECT gets an ORA-01555
- same problem as above and same solution. Get a bigger UNDO segment.
You say this only happens once a month. That should give a hint.
I wouldn't bother with which SELECT statement, as much as which APPLICATIONs are being run when it happens.
One way around this - use 10g and set the guaranteed retention period. All sorts of other things will break, by no more 1555. <g> -
How to examine the generated SQL statement in Receiver JDBC Adapter
I have been searching this forum how to display te generated sql statement (by the jdbc receiver adapter).
The only suggestion is to use RWB, but I was unable to find any details about how to do so.
Any help is appreciatedHi,
To add, u can see the SQL Statements in Audit log of RWB.
Select Message Monitoring-> Adapter Engine. choose ur entry and click on Details option button, u can see the SQL Statements in Audit Log.
Regards,
Sudharshan
Message was edited by:
Sudharshan Aravamudan -
Update sql statement in sender/receiver jdbc adapter
Hi
What is the update sql statement we give in the sender/ receiver adapter when
1) SELECT statement was written in query sql statement
2) EXECUTE statement was written for a stored procedure in query sql statement
thanks
Anitha> 1) SELECT statement was written in query sql statement
your table should have some value "already_processed" which prevents a second processing of that table.
the update statement sets that value.
> 2) EXECUTE statement was written for a stored procedure in query sql statement
the same as above.
when your stored procedure already does the update, then write a second stored procedure which does nothing. -
Xi JDBC Adapter - Query SQL Statement & Update SQL Statement
Hi!
I configure the JDBC adapter sender (XI) to take data from Oracle database.
I set the Query and Update SQL Statement in the Processing parameters of the communication channel in this way:
Query SQL Statement :
SELECT * FROM XI_TABLE WHERE STATUS = 'WAIT' ORDER BY ROW_NUM
Update SQL Statement :
UPDATE XI_TABLE SET STATUS = 'DONE', DATE = SYSDATE WHERE STATUS = 'WAIT'
My question is :
If a new record with the field STATUS = 'WAIT' is added to the table (xi_table) during the time between the execution of the query statement and the start of the update statement, what will happen to that record during the update?
There is a way to avoid the update of that record? or to pass to the update statement only the record selected in the query statement?
Please, may you give me some example?
Thanks,
Francescohi,
did you check "Isolation Level for Transaction"
for the sender jdbc adapter?
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
Regards,
michal -
Sender JDBC adapter -- Update SQL statement NOT work for the last record
I'm trying to use SAP XI to send records from Oracle database to As/400 using JDBC adapter. I've defined the communication channel for sender
(1) The "Query SQL statement" = select a_bgn_dt, a_end_dt from PX_PXXD WHERE NOT CU_ACTION_CD='P'
(2) The "Update SQL statement" = update PX_PXXD set CU_ACTION_CD='P' WHERE NOT CU_ACTION_CD='P'
Supposed that 3 records were retrieved from (1) and successfully updated to AS/400 but only the first 2 records in Oracle database are updated according to (2)
Any advise.
PansyHi Pansy,
You select and update query is looking like wrong
kindly check below query,If you are using oracle
(1) The "Query SQL statement" = select a_bgn_dt, a_end_dt from PX_PXXD WHERE CU_ACTION_CD !='P'
(2) The "Update SQL statement" = update PX_PXXD set CU_ACTION_CD='P' WHERE CU_ACTION_CD !='P'
Thank you
Sateesh -
Sender JDBC adapter : Update SQL Statement : stored procedure
Hi,
Can we use a stored procedure in the sender jdbc adapter in 'Update SQL Statement'.
The problem i am facing is like, we are selecting data from two tables in 'SQL statement for query' and then in 'Update SQL Statement' , we need to delete that data from these two tables.
Please let me know if it is possible.
Thanks,
Rohityou can use a Stored procedure in the
Query SQL Statement
You have the following options:
· Specify a valid SQL SELECT statement to select the data to be sent from the specified database.
· Specify an SQL EXECUTE statement to execute a stored procedure, which contains exactly one SELECT statement.
The expression must correspond to the SQL variant supported by the relevant JDBC driver. It can also contain table JOINs.
so have your whole select and update as part of this single Stored procedure -
JDBC Sender update SQL Statement Question.
I was wondering if there is a way to have the update SQL statement line in the JDBC sender update by time stamp, this would be very helpful. Does anyone know a method of doing this?
In the SAP documentation of the adapter it has this example for using the update SQL statement after the query statement:
SQL statement for query: SELECT * FROM table WHERE processed = 0;
SQL statement for update: UPDATE table SET processed = 1 WHERE processed = 0;
What I want is to be able to put processed = (the current date) instead of processed =1 in the update statement, like this example:
SQL statement for query: SELECT * FROM table WHERE processed = 0;
SQL statement for update: UPDATE table SET processed = (the current date) WHERE processed = ' ';
I seems like you can only use a fixed value for the update statements in the JDBC Sender though, I would like to know if you can use a time stamp or variable there. -
JDBC sender adapter, ...Processing parameters, Update SQL statement
in JDBC sender adapter, ...Processing parameters, there is an Update SQL statement field, can u tell me ...why this is required,,,,,and in one of the example scenario...it was given as <TEST>..
Sudheep,
In the sender JDBC adapter you have the select query to select data from the database.
Let us summer 2 cases,
1. You have <test> in the UPDATE . In this case, during every polling interval the JDBC adapter will end up selecting the same data from the Database. This would not be needed in most f the cases. Why would you want to select the same data over an over again?
2. If you have an update Statement in the Update field you can make sure that the data selected in the selected statement is updated so that the same rows are not selected again.
Take a look at this blog,
/people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
Regards
Bhavesh -
Update SQL statement in JDBC sender (system fields)
All,
Is it possible to update more than 1 field via the update sql statement ?
Also, is it possible to use system fields ?
Something like this
UPDATE database.table SET processed='Y', date = sy-datum
Regards, MichelHi
use sysdate as suggested above
Check your generated SQL query format is correct
At runtime you can find the genereated sql statements by doing configuraitons in Receiver JDBC adapter.
In the JDBC Receiver adapter you have the Advanced Properties .
Over there enter the following
left column logSQLStatement
right column true
To see the query created ..
Login to adapter monitoring ..select the relevant jdbc adapter.
Now when any message is processed by the jdbc adapter in adapter monitoring at that time you will see a message link. When you click on that link a new window will open. In that window if you click on page down you will get to see the sql statement generated by the jdbc adapter. -
Query SQL Statement & Update SQL Statement
Hi!
I configure the JDBC adapter sender (XI) to take data from MSSQL database.
I have to run select like this:
SELECT
tblMilestone.Site,
tblMilestone.Revision,
tblMilestone.MilestoneNameID,
tblMilestone.ApprovedDate,
tblMilestoneName.MilestoneName
FROM
tblMilestoneName
INNER JOIN tblMilestone ON tblMilestoneName.MilestoneNameID = tblMilestone.MilestoneNameID
WHERE tblMilestone.StatusCode = 1;
My question is what "Update SQL Statement" I should use in communication channel definition? I only need to update tblMilestone or this two tables?
Maybe you give me some example.Check this from SAP help...
Update SQL Statement
You have the following options:
● Enter a valid SQL statement that is to be applied to the database once the data (determined from the Query SQL Statement) has been successfully sent to the Integration Server/PCK.
It must be an INSERT, UPDATE, or DELETE statement.
● In place of the SQL statement, you can also enter <TEST>. Once the data determined from Query SQL Statement has been successfully sent, the data in the database remains unaltered.
This is recommended if the data has not only been read, but also changed by a stored procedure entered under Query SQL Statement.
Maybe you are looking for
-
How to I run Snow Leopard, Mountain Lion and Windows 8 on my new iMac
I just bought a new iMac. My goal is to set up 3 different partions to run 3 different operating systems (Mountain Lion, Snow Leopard, and Windows 8). The reason for this post is because when I attempted to do this same thing on my old iMac ( except
-
How can transfer images from lightroom to LaCie external drive?
How can i export images from lightroom toLaCie external drive?
-
If one has 2 devices that are ready for the move to the cloud and they don't share an identical contact list, iTunes collection, or calendar items, which device will dominate with respect to that info? Will all contacts from both devices merge into o
-
i buy my iphone 5 in uae but i live in other country i want use a facetime how can add this feature to my iphone 5 please help me
-
I have many songs in iTunes of considerably varied volumes. I like to shuffle these songs on my iPhone with Bluetooth headphones. It is frustrating that some songs are so loud that when they come on they hurt my ears, and I have to reduce the volum