Oracle's serializable transactions cannot be serialized

I'm new to oracle. Here is my understanding of oracle's serializable transactions. Feel free to correct me if i'm wrong.
In my option, the serializable transactions that oracle supports cannot always be serialized.
Oracle suports serializable transactions by ensuring a serializable transaction cannot modify rows changed by other transactions after the serializable transaction began. (Oracle7 Server Concepts Manual, Data Concurrency).
However this constraint doesn't ensure two transactions can be serialized. For example, consider a table A that has two columns: rowid and num.
A has two rows:
rowid num
1 1
2 2
There are two oracle serializable transactions (T1 and T2) defined as follows.
T1
read row 1 from table A into r1
if (r1.num == 1) {
update num of row 2 to 100
commit;
T2
read row 2 from A into r2
if (r2.num == 2) {
update num of row 1 to 100
commit;
Note: row i refers to the row in the table A that has rowid equal to i, for i=1, 2
Consider the following senario:
T1: read (1, 1)
T1: write (2, 100)
T2: read (2, 2)
T2: write(1, 100)
T1: commit
T2: commit
In oracle, the senario above will get executed without any error.
After T1 and T2 commit, the table A has the following rows:
rowid value
1 100
2 100
However, if you serialize T1 and T2, the table A can only be either
rowid value
1 1
2 100
if T1 runs before T2;
or
rowid value
1 100
2 2
if T2 runs before T1.
The conclusion is that serializable transactions in Oracle cannot always be serialized.
Anything wrong in my example?
Thanks
null

Note on the line
46 if (result == null)
47 {
48 String MontoDocumento1 = (String) vo.getCurrentRow (). GetAttribute ("MontoDocumento");
49 String redondeado1 = Round (MontoDocumento1);
50 if (redondeado1.equals ("Y"))
51 { ........
I call a number then convert to string:
String MontoDocumento1 = (String) vo.getCurrentRow (). GetAttribute("MontoDocumento");
and then pass it to double:
Double.valueOf double v_number = (number). doubleValue ();
in my function:
Rounding public String (String number)
Return String;
Double.valueOf double v_number = (number). doubleValue ();
if (v_number == (Math.rint (v_number * 100) / 100))
return = "Y";
else
return = "N";
return return;
Which brings me back a string with the value Y or N.
Thanks if you could help me
Edited by: 917616 on 29/02/2012 07:16 AM

Similar Messages

  • Oracle.xml.sql.OracleXMLSQLException:Cannot enable auto commit within JTS transaction

    Hi All,
    OracleXMLSave class in the Oracle XDK is being used to load XML data into an 8170 database. The Java code is running in IBM WebSphere with container-managed transactions. When JTA is enabled with the Merant JDBC driver for Oracle, we get the following error when the XML is loaded:
    oracle.xml.sql.OracleXMLSQLException: Cannot enable auto commit within JTS
    transaction
         at java.lang.Throwable.fillInStackTrace(Native Method)
         at oracle.xml.sql.dml.OracleXMLSave.saveXML(OracleXMLSave.java:2213)
         at oracle.xml.sql.dml.OracleXMLSave.insertXML(Compiled Code)
    This suggests the OracleXMLSave class is not aware of the fact that it is now operating in a JTS transaction where control is managed elsewhere. i.e. should also not attempt to commit or rollback, as this is the responsibility of the container.
    Is there a property which needs to set to prevent the above or does the XDK not work with J2EE (JTS) transactions?.
    If you have any useful comments, let me know. Testing the above presents me with a number of problems so if this is easily explained , let me know.
    Thanks,
    Malcolm

    Clearly , there does seem to be something a bit odd with the above stack.
    <Bug:1917808> mentions OracleXMLSave in context of plsql equivalent : dbms_xmlsave . i.e dbms_xmlsave is a wrapper around OracleXMLSave class.
    disabling autocommit on connection as follows should help:
    conn = DriverManager.getConnection("connect string","scott","tiger");
    conn.setAutoCommit(false);
    to disble auto commit and see if this has an effect.
    This issue might be <Bug:1497506>. If disabling autocommit does not work then it appears that it could be this issue .
    Malcolm
    Hi All,
    OracleXMLSave class in the Oracle XDK is being used to load XML data into an 8170 database. The Java code is running in IBM WebSphere with container-managed transactions. When JTA is enabled with the Merant JDBC driver for Oracle, we get the following error when the XML is loaded:
    oracle.xml.sql.OracleXMLSQLException: Cannot enable auto commit within JTS
    transaction
         at java.lang.Throwable.fillInStackTrace(Native Method)
         at oracle.xml.sql.dml.OracleXMLSave.saveXML(OracleXMLSave.java:2213)
         at oracle.xml.sql.dml.OracleXMLSave.insertXML(Compiled Code)
    This suggests the OracleXMLSave class is not aware of the fact that it is now operating in a JTS transaction where control is managed elsewhere. i.e. should also not attempt to commit or rollback, as this is the responsibility of the container.
    Is there a property which needs to set to prevent the above or does the XDK not work with J2EE (JTS) transactions?.
    If you have any useful comments, let me know. Testing the above presents me with a number of problems so if this is easily explained , let me know.
    Thanks,
    Malcolm

  • Linked Server :: OLE DB provider "OraOLEDB.Oracle" for linked server "ABC" returned message "New transaction cannot enlist in the specified transaction coordinator. ".

    Hello All,
    As mentioned in title, i am stuck up with that articular error from last three days,
    i have following scenario, my SQL server 2008, my oracle 10g are on both same machine with OS Windows Server 2008.
    the following error generated on my management studio when i execute my procedure written in my SQL server. Following is original source code snippet after error massage.
    OLE DB provider "OraOLEDB.Oracle" for linked server "ORCL" returned message "New transaction cannot enlist in the specified transaction coordinator. ".
    Msg 50000, Level 16, State 2, Procedure PROC_MIGRATE_MST_FRM_ORA_SQLSERVER, Line 43
    The operation could not be performed because OLE DB provider "OraOLEDB.Oracle" for linked server "ORCL" was unable to begin a distributed transaction.
    BEGIN TRY
    -- MIGRATION OF PR_COMPANY_MH START
    BEGIN TRANSACTION T1
    PRINT 'mILAN NNNNNNNNN 11'
    INSERT INTO PROD.PR_COMPANY_MH
    SELECT * FROM OPENQUERY(ORCL, 'SELECT * FROM PR_COMPANY_MH WHERE SQL_FLG = ''N'' ')
    PRINT 'mILAN NNNNNNNNN 12'
    UPDATE OPENQUERY(ORCL, 'SELECT SQL_FLG FROM PR_COMPANY_MH WHERE SQL_FLG = ''N''')
    SET SQL_FLG = 'Y'
    --EXECUTE ('UPDATE PROD.PR_COMPANY_MH SET SQL_FLG = ''Y'' ') AT [ORCL]
    PRINT 'mILAN NNNNNNNNN 13'
    COMMIT TRANSACTION T1
    -- MIGRATION OF PR_COMPANY_MH END
    END TRY
    BEGIN CATCH
    PRINT 'mILAN NNNNNNNNN 14'
    ROLLBACK TRANSACTION T1
    PRINT 'mILAN NNNNNNNNN 15'
    SELECT
    @ErrorNumber = ERROR_NUMBER(),
    @ErrorSeverity = ERROR_SEVERITY(),
    @ErrorState = ERROR_STATE(),
    @ErrorLine = ERROR_LINE(),
    @ErrorProcedure = ISNULL(ERROR_PROCEDURE(), '-');
    PRINT 'mILAN NNNNNNNNN 16'
    SELECT @ErrorMessage = ERROR_MESSAGE();
    RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState, @ErrorNumber, @ErrorProcedure)
    PRINT 'mILAN NNNNNNNNN 17'
    END CATCH
    this perticular part is raising that error, and i had tried every configuartion on my local machine related to MS DTC.
    When i remove my transaction code, its work just fine no exception raise, but when i use then i.e. BEGIN TRAN, COMMITE TRAN, AND ROLLBACK TRAN. its giving me error, other wise its fine.
    Please Help or disscus or suggest why my transaction base code is not woking????
    thanks in advance.
    Regards,
    Milan

    Sorry again, I am new on any kind of forum, so i am learning now, following is the error massage generated by SQL Server. and its not
    an architecture problem, i had just included my complete architecture to be more informative while asking for the solution or suggestion. My real problem is T-SQL, i think and its related to Distributed queries raise in SQL Server in Oracle Link Server.
    OLE DB provider "OraOLEDB.Oracle"
    for linked server "ORCL" returned message "New transaction cannot enlist in the specified transaction coordinator. ".
    Msg 50000, Level 16, State 2, Procedure PROC_MIGRATE_MST_FRM_ORA_SQLSERVER,
    Line 43
    The operation could not be performed because OLE
    DB provider "OraOLEDB.Oracle" for linked server "ORCL" was unable to begin a distributed transaction.

  • Serializable transactions

    I am trying to figure out how to make transactions serializable, but with little success. I am experimenting with a simple example, where two tables(XTable(x), and YTable(y)), each of which has a single row. One transaction tries to read x, then set y as y=x+1. The other tries to read y, then set x=y*y. Unfortunately, running them simultaneously allows interleaved orders which don't preserve the serialization. Initially x=1, y=10, so a serialized ordering should result in either x=100, y=101, or x=4, y=2. I wrote the code with the expectation that an exception would get thrown or deadlock would occur but neither happened( It terminated successfully with x=100 and y=2). I am using oracle 8.1 driver. I checked, and it says it does support TRANSACTION_SERIALIZABLE. Also, I tried the same experiment using separate threads for each transaction, with the same results.
    Any ideas? Are my assumptions wrong?
    Here is the relavent code snipet if that helps
    Connection conn1=DriverManager.getConnection(url,user,password);
                conn1.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
                conn1.setAutoCommit(false);
                Connection conn2=DriverManager.getConnection(url,user,password);
                conn2.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
                conn2.setAutoCommit(false);
                //read x value from 1st connection
                Statement s1=conn1.createStatement();
                ResultSet resultSet1=s1.executeQuery("Select x from XTABLE");
                resultSet1.next();
                int x=resultSet1.getInt(1);
                //read y value from 2nd connection
                Statement s2=conn2.createStatement();
                ResultSet resultSet2=s2.executeQuery("Select y from YTABLE");
                resultSet2.next();
                int y=resultSet2.getInt(1);
                //set x based on the information available to transaction 2
                s2.executeUpdate("update XTABLE set x="+y*y);
                //set y based on the information available to transaction 1.
                s1.executeUpdate("update YTABLE set y="+(x+1));
                //commit
                conn1.commit();
                conn2.commit();
                System.err.println("x="+TransactionTester.read(conn1,'x'));
                System.err.println("y="+TransactionTester.read(conn1,'y'));
                conn1.close();
                conn2.close();

    It seems to be a matter of interpretation of
    ?SERIALIZABLE?, not only as a word, but how DBMS
    vendors (and programmers) understand this feature.I haven't been able to find a internet posting of the SQL 92 standard, however, I found what appears to be a draft of that standard: http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt. The remainder assumes that this draft is pretty close to the final standard. Section 4.28 covers isolation levels. The philosophy behind serializable is:
    "A serializable execution is defined to be an execution of the operations of concurrently executing SQL-transactions that produces the same effect as some serial execution of those same SQL-transactions. A serial execution is one in which each SQL-transaction executes to completion before the next SQL-transaction begins."
    So it is not saying that the transactions must be executed one after the other in a serial fashion, but that the result must be the same as if it had.
    The document goes on to say that in order to have serializable transactions it is necessary to prevent the three types of reads that we've been talking about: dirty, non-repeatable, and phantom. This could be summarized as providing a transaction with a 100% read consistent view of the database. Then it goes on to say:
    "The execution of a <rollback statement> may be initiated implicitly by an implementation when it detects the inability to guarantee the serializability of two or more concurrent SQL-transactions. When this error occurs, an exception condition is raised: transaction rollback-serialization failure."
    In other words, preventing the bad reads is necessary, but not sufficient for a transaction to be serializable. There must also be logic that "detects the inability to guarantee the serializability".
    On this basis and the results from my first code sample, I would say that though Oracle meets the Java API's definition of transaction_serializable, it fails to comply fully with the SQL 92 standard. Why?
    The answer can be found in the Oracle SQL manual under SET TRANSACTION:
    "The SERIALIZABLE setting specifies serializable transaction isolation mode as defined in SQL92. If a serializable transaction contains data manipulation language (DML) that attempts to update any resource that may have been updated in a transaction uncommitted at the start of the serializable transaction, then the DML statement fails."
    So Oracle's detection of "the inability to guarantee the serializability" consists of seeing if another transaction committed an update to that row after the serializable transaction began. My first code sample shows that this detection is insufficient when dealing with transactions that have read overlap, but update separate tables. I consider it a bug. I think they have to detect if they're reading data that has been updated since the transaction began as well.
    But I wonder why you prefer Oracle?s implementation
    and consider SQLServer?s implementation as
    ?unfortunate?.My reading of the benefit of serializable is that unless the database detects that serializability cannot be guaranteed, transactions can be processed concurrently. If it detects a problem, it does a rollback and generates an exception. This seems to me to be a high throughput OLTP solution.
    I call Microsoft's implementation unfortunate because rather than letting transactions go until it detects a problem, it seems to block anything that might potentially cause a problem. This reduces the ability to concurrently process transactions. Consider in my first code sample, that connection 1 hadn't even updated anything at the time connection 2 was blocked. Connection 1 might have had code that queried a few things and then decided not to do an update based on its findings. All the while connection 2 is kept waiting unnecessarily.
    Unless the SQL 99 standard redefined serializable, Microsoft's implementation is also unfortunate because it is not standards compliant. They don't "detect" they "prevent".
    But look at this example:
    2 persons want to book a flight ticket.
    person1 queries the number of free seats and gets the
    result: 1 seat free.
    person2 queries the number of free seats and gets the
    result: 1 seat free.
    person1 books 1 seat.
    person1 queries the number of free seats and gets the
    result: 0 seats free.
    person2 queries the number of free seats and gets the
    result: 1 seat free.
    person2 books 1 seat.
    person2 queries the number of free seats and gets the
    result: 0 seats free.
    person1 commits.
    person2 commits.Implemented in a single thread, the person2 booking is blocked because person1 has updated the same row and hasn't committed. I tested the following scenario instead (see code below):
    1. Connection 1 reads number of remaining seats
    2. Connection 2 reads number of remaining seats
    3. Connection 2 books a seat
    4. Connection 2 commits
    5. Connection 1 books a seat
    6. Connection 1 commits
    The first run was in default isolation mode and the second in serializable mode:
    java TestTransactionSerializable2
    Leaving connection 1 isolation level as default.
    connection 1 found 1 remaining seats
    connection 2 found 1 remaining seats
    connection 2 updated remaining seats to 0
    connection 2 committed
    connection 1 updated remaining seats to 0
    connection 1 committed
    java TestTransactionSerializable2 on
    Setting connection 1 to transaction_serializable.
    connection 1 found 0 remaining seats
    connection 2 found 0 remaining seats
    connection 2 updated remaining seats to -1
    connection 2 committed
    Exception in thread "main" java.sql.SQLException: ORA-08177: can't serialize access for this transaction
    In default mode we get the wrong result. In serializable mode, when connection 1 attempts the update it detects that the row was updated by another transaction after connection 1's transaction had begun. This shows that with transactions updating the same data, Oracle implements serializability correctly.
    What happens in SQL-Server? Does connection 2 get blocked when it does the read or when it does the update? What happens if you change the first connection 1 read in my first code sample to "select z from ztable"? The answers will give us some more clues about how Microsoft implements serializable.
    If so, why does not everybody cry it loudly around in
    this forum as a warning?I've never used it. I prefer to lock a common database resource at the start of transactions. My guess is that nobody uses it.
    SETUP:
    create table seats( remaining number );
    insert into seats values( 1 );
    commit;
    RESET:
    update seats set remaining = 1;
    commit;
    import java.sql.*;
    public class TestTransactionSerializable2
      public static void main(String[] args) throws SQLException, ClassNotFoundException
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection conn1=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
        Connection conn2=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
        conn1.setAutoCommit(false);
        conn2.setAutoCommit(false);
        Statement s1 = conn1.createStatement();
        Statement s2 = conn2.createStatement();
        // Set to serializable if any argument whatsoever is passed
        if(args.length > 0)
          System.out.println("Setting connection 1 to transaction_serializable.");
          conn1.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
        else
          System.out.println("Leaving connection 1 isolation level as default.");
        // 1. Connection 1 reads number of remaining seats
        ResultSet resultSet1 = s1.executeQuery("select remaining from seats");
        resultSet1.next();
        int remaining1 = resultSet1.getInt(1);
        System.out.println("connection 1 found " + remaining1 + " remaining seats");
        // 2. Connection 2 reads number of remaining seats
        ResultSet resultSet2 = s2.executeQuery("select remaining from seats");
        resultSet2.next();
        int remaining2 = resultSet2.getInt(1);
        System.out.println("connection 2 found " + remaining2 + " remaining seats");
        // 3. Connection 2 books a seat
        s2.executeUpdate("update seats set remaining="+(remaining2-1));
        System.out.println("connection 2 updated remaining seats to " + (remaining2-1));
        // 4. Connection 2 commits
        conn2.commit();
        System.out.println("connection 2 committed");
        // 5. Connection 1 books a seat
        s1.executeUpdate("update seats set remaining="+(remaining1-1));
        System.out.println("connection 1 updated remaining seats to " + (remaining1-1));
        // 6. Connection 1 commits
        conn1.commit();
        System.out.println("connection 1 committed");
        // 7. Close connections
        conn1.close();
        conn2.close();

  • Serializable transaction isolation level bugs

    Hello!
    I would like to know which versions of Oracle database are free or not free of serializable transaction isolation level bugs.
    Especially I'm interested in all informations about 440317 bug which is described here: Bug in Oracle's handling of transaction isolation levels?
    Thank you very much.

    If you are genuinely suffering from 440317 (and not poor design which is the most common cause of ORA-8177, and hence why it's taken so long for this bug to get fixed - originally raised in 7.2.2 !!!) then you will have to wait until 10g R2 sees the light of day.
    Cheers, APC

  • Concurrent Serializable Transaction Conflict

    Hi,
    We are planning to use the Serializable isolation level in the transactions. I am wondering if somebody can give me some suggestions on how to handle the following scenarios.
    My assumptions are as follows ( when I use the transactions with Serializable isolation level):
    If transaction A updates a particular record r of table T, and concurrently, transaction B updates or deletes the same record r of table T, then anexception is thrown at the point at which either transaction (A or B whichever is last) is committed. But if the two transactions update or delete different records of the same table, there will be no problems.
    Are these assumptions are correct. If the oracle jdbc driver throws an exception, what would be the exception ( what would be the class and the error code - how i can differntiate from other SQLExceptions)
    TIA,
    Krishna Balusu

    If two serializable transactions attempt to update the same row, the second transaction to attempt to update the data will wait for the first transaction to commit. Then, it will return the error "ORA-08177: can't serialize access for this transaction". This error won't be deferred until the second transaction attempts to commit.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Serializable transactions and initrans parameter for version enabled tables

    Hi,
    we want to use serializable transactions when using version enabled tables, so we need to set initrans parameter >= 3 for such tables.
    Change made during BEGINDDL - COMMITDDL process is not done for LT table. I think that initrans parameter is not checked at all during BEGINDDL-COMMITDDL process, because skeleton table has initrans=1 even if LT table has different value of this parameter.
    -- table GRST_K3_LT has initrans = 1
    exec dbms_wm.beginddl('GRST_K3');
    alter table grst_k3_lts initrans 3;
    exec dbms_wm.commitddl('GRST_K3');
    -- table GRST_K3_LT has initrans = 1
    During enableversioning this parameter is not changed, so this script succesfully set initrans for versioned tables.
    -- table GRST_K3 has initrans = 1
    alter table grst_k3 initrans 3;
    exec dbms_wm.enableversioning('GRST_K3','VIEW_WO_OVERWRITE');
    -- table GRST_K3_LT has initrans = 3
    We use OWM 10.1.0.3 version.
    We cannot version disable tables. I understand that change can be done after manually disabling trigger NO_WM_ALTER.
    Are there any problems with using serializable transactions when reading data in version enabled tables? We will not use serializable transactions for changing data in version enabled tables.
    thanks for Your help
    Jan VeleÅ¡Ãk

    Hi,
    You are correct. We do not currently support the initrans parameter during beginDDL/commitDDL. However, as you indicated, we will maintain any value that is set before enableversioning. If this is a critical issue for you, then please file a TAR and we can look into adding support for it in a future release.
    Also, there are no known issues involving serializable transactions on versioned tables.
    Thanks,
    Ben

  • Int Req Intr Rcpt - Transaction Cannot be costed

    Int Req Intr Rcpt Transaction Cannot be costed - Material cost transaction worker always returns the following error message - get_transfer_price( 70 ): ORA-01722: invalid number
    How can this error be resolved? Kindly let me know. Item Setup , Intercompany setup are all verified there seem to be no issue.
    Oracle Release - 11.5.9
    Thanks
    Ravi

    Recently I had been to a interview Not, recently you've been to school and been set these questions for your homework?

  • Getting Error:::oracle.jbo.domain.Date cannot be cast to java.lang.String

    Hi Friends,
    I have simple req'.
    i have one date filed in OAF page...if user has change the date filed..means if he incresed by 2 days..then i need to call one procedure..if not no need to call....
    first am picking that date field to by uusing prepared stmt and putting in to one variable..like below
    try {
    ps1 = am.getOADBTransaction().getJdbcConnection().prepareStatement("SELECT -------");
    ResultSet rs2 = ps1.executeQuery();
    while (rs2.next()) {
    schDate = rs2.getString(1);//storing the value
    } catch (Exception e) {
    throw OAException.wrapperException(e);
    Next..am picking the current value like this(user can change the value) like below...
    OAViewObject viewObj = (OAViewObject)am.findViewObject("simpleVO");
    String currSchDate = (String)viewObj.getCurrentRow().getAttribute("iDate");
    java.text.SimpleDateFormat dtFormat = new java.text.SimpleDateFormat ("MM/dd/yyyy");
    StringBuilder date = new StringBuilder(dtFormat.format(currSchDate));
    Then am comparing the values like below..
    if (schDate.equals(date)) {
    String outParamValue = "";
    String secondOutParamValue = "";
    but am geting the below error
    ## Detail 0 ##
    java.lang.ClassCastException: oracle.jbo.domain.Date cannot be cast to java.lang.String
         at xxuss.oracle.apps.abc.webui.xxPGCO15.processFormRequest(xxGCO15.java:594)
    Appriciate any help...its very urgent
    Regards
    Harry

    Instead of :
    String currSchDate = (String)viewObj.getCurrentRow().getAttribute("iDate");Try
    String currSchDate = viewObj.getCurrentRow().getAttribute("iDate").toString();
    -Anand

  • I cannot find serial number to get into support

    My keyboard isn't working. Locked out of computer. Cannot find serial number so I may contact support

    Click here and follow the instructions.
    (100798)

  • JDeveloper Error ! oracle.xml.sql.OracleXMLSQLException: Cannot map Unicode

    Hi All,
    I have 2 identical table structures with different data in Oracle.
    I am using following xsql and XSLT sheet to produce xml files with these tables. ( have to run twice xsql file by changing the Table names )
    When I run the xsql file with Table1, it works fine, produced the xml file on the browser.
    But when I run the xsql file with Table2, it gives following error message:
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    Invalid at the top level of the document. Error processing resource 'http://192.10.1.14:8988/Workspace_ONIX-ONIX2-context-root/untitled1.xsql'. Line 1, Position 1
    oracle.xml.sql.OracleXMLSQLException: Cannot map Unicode to Oracle character.
    ^
    These two are my xsql and xslt files:
    - - - - xsql file - - - -
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <?xml-stylesheet type="text/xsl" href="TT14.xsl"?>
    <xsql:query connection="Connection1" id-attribute="" tag-case="lower"
    rowset-element="LIST" row-element="DEPA"
    xmlns:xsql="urn:oracle-xsql">
    SELECT * from TT26
    </xsql:query>
    TT14.xsl file
    <xsl:stylesheet version="1.0" encoding="UTF-8" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method ="xml" indent= "yes" encoding="UTF-8"/>
    <!--DOCTYPE ONIXmessage SYSTEM "http://www.editeur.org/onix/2.1/reference/onix-international.dtd"-->
    <xsl:template match ="list">
    <BBMessage>
    <<xsl:for-each select="depa">
    <Product>
    <RecordReference>
    <xsl:value-of select="wai"/>
    </RecordReference>
    <NotificationType>
    <xsl:value-of select="wantype"/>
    </NotificationType>
    </Product>
    </xsl:for-each>
    </BBMessage>
    </xsl:template>
    </xsl:stylesheet>
    All comments are highly welcomed...
    Thanks

    Hi Deepak
    Thanks for the post, but I am afraid that's not the issue with the error.
    I changed both encoding to "UTF-8" still i get the problem.
    I tried even without the XSLT sheet, still I have the problem..
    - - - - xsql file ---
    &lt;?xml version = '1.0' ?&gt;
    &lt;!--
    | Uncomment the following processing instruction and replace
    | the stylesheet name to transform output of your XSQL Page using XSLT
    &lt;?xml-stylesheet type="text/xsl" href="YourStylesheet.xsl" ?&gt;
    --&gt;
    &lt;page xmlns:xsql="urn:oracle-xsql" connection="Connection1"&gt;
    &lt;xsql:query max-rows="-1" null-indicator="no" tag-case="lower"&gt;
    select * from Table2
    &lt;/xsql:query&gt;
    &lt;/page&gt;
    - - - - Result ----
    &lt;?xml version="1.0" ?&gt;
    - &lt;!--
    | Uncomment the following processing instruction and replace
    | the stylesheet name to transform output of your XSQL Page using XSLT
    &lt;?xml-stylesheet type="text/xsl" href="YourStylesheet.xsl" ?&gt;
    --&gt;
    - &lt;page&gt;
    &lt;error&gt;oracle.xml.sql.OracleXMLSQLException: Cannot map Unicode to Oracle character.&lt;/error&gt;
    &lt;/page&gt;
    Any Comment ???
    Thanks

  • This transaction cannot be completed ..

    I saw many post that are related to this title but none of them can help. I can't complete my transaction, i send only 8.99 US$ to another by email. But it keeps showing:" This transaction cannot be completed.. ". My account and my card are verified. I don't know why it show this error with no information provided. I really need help with this. Thank you.

     Personal Payments are not available to all accounts and/or all countries.  Do you and the recipient have US PayPal accounts? -Sandy

  • Erro"Transaction cannot be posted due to errors in price determination"MIGO

    Hi All,
    I am facing error message "Transaction cannot be posted due to errors in price determination" for "X-field conversion" while posting GR document against Scheduling agreement.
    I have checked the Validity periods of conditions maintained in Scheduling agreement and it was within validity.
    In Material master - Price Control - V (Moving average price/periodic unit price)
    Standard price              0.00 
    Per. unit price             1.58 
    Price unit             1         
    Please help me to resolve this issue.
    Cheers!
    Sujay Chinchole

    your material master displaying Zero price .maintain the price in material master.and also check why material has Zero price.
    what is the price  in  material moving average field
    Edited by: Sridhar Jayavarapu on Mar 13, 2009 7:17 AM

  • Transaction cannot be posted due to errors in price determination - MIGO

    Hi,
    I have made PO with reference to the contract. While posting the MIGO error message displays as "Transaction cannot be posted due to errors in price determination. But with same combination ( Materials and Vendor which were used in Po from Contarct) was used to prepare a PO with out any reference, subsequent MIGO transaction was saved without any error msg. This problem is happening the MIGO through PO reference of Contract or MIGO for schedule line agreement. So your help pls.
    Veera.

    hi
    u have to check Note 1059878 - Error after the Note 1043857
    Summary
    Symptom
    1.When you try to post a goods receipt (MB01/MIGO) against the purchase order, you get an error ME 573 "Transaction cannot be posted due to errors in price determination". This is caused by the code from the Note 1043857.
    2.Also,when you have note 1043857 implemented and then try to do a price comparison (ME49)among the RFQ,you see the message 06 616  'selected quotations not directly comparable'.This is again caused by the code from the Note 1043857
    Other terms
    UNICODE, GTKOMK-KEY_UC, GTKOMK, MIGO, ME49,Price comparison, 06 616, ME 573
    Reason and Prerequisites
    This happens after the code from the Note 1043857.
    Solution
    Please apply the code correction below.
    regards
    KI

  • 11g Agent Install - ERROR: Error:Oracle Agent Home Location cannot be null

    I started trying to push the agent from OMS. It worked as far as running the installer then failed.
    Trying a silent install now from the client and I'm getting this error -
    ERROR: Error:Oracle Agent Home Location cannot be null
    In agent_download.rsp I have set BASEDIR.
    Where is Agent Home set?

    This is what I finally used for agent_download.rsp (this was in a Linux environment)
    EM_INSTALL_TYPE="agent"
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
    DECLINE_SECURITY_UPDATES=true
    INSTALL_UPDATES_SELECTION="skip"
    ORACLE_AGENT_HOME_LOCATION="/home/oracle/Grid"
    OMS_HOST="<<oms hostname>>"
    OMS_PORT="4900"
    AGENT_REGISTRATION_PASSWORD="<<oms registration pwd>>"

Maybe you are looking for

  • Photo Gallery - Next or Previous Button

    Hi, I am new to Action Script and I have a small issue that I can't seem to figure out... Probably very easy for you guys... ;) (1) I have a Photo Gallery here, kinda like a Photo show and under the picture is a 'Next' and 'Previous' button. Now when

  • Mobile me - failure to publish site

    Hello, I am publishing my site from iWeb '09 to my MobileMe space. The Domain name is: www.dradd.co.uk. iWeb publishes to here fine... with one really annoying problem: When it completes it's publishing, I get the "There was an error updating MobileM

  • Imovie Black Screen

    Hello - I hope somebody can help me with this. I had Imovie 08 installed and everything worked perfectly. All of a sudden when I opened Imovie nothing played on preview screen (events or projects) either when I scrolled across the clip or tried to pl

  • Travelling with Mac Pro

    Hey guys, My friend wants to come to the UK and he's coming for a month and wants to bring his brand new Mac Pro. Do you think he can put it in his case if he protects it well? Will he have any trouble with customs etc?

  • Penalty Interest calculation procedure

    Dear Friends, Could you please send me if you have customization procedure for customer penalty interest calculation. My email id is: [email protected] Thanks in advance for your help. Regards, Dwarak.