How to get details of a particular column in database.

Hi dear friends,
I am getting error while i try to get index information on a particular column.
here is the code.. why it gives me error
import java.sql.*;
import java.util.StringTokenizer;
public class TestIndex {
  final static String jdbcURL = "jdbc:timesten:client:CATSREPLICATION";
  final static String jdbcDriver = "com.timesten.jdbc.TimesTenClientDriver";
  final static String scheme = "CATSPROD";
  public static void main(java.lang.String[] args) {
    System.out.println("--- Database Viewer ---");
    try {
      Class.forName(jdbcDriver);
      Connection con = DriverManager.getConnection(jdbcURL, "", "");
      DatabaseMetaData dbmd = con.getMetaData();
      System.out.println("Driver Name: " + dbmd.getDriverName());
      System.out.println("Database Product: " + dbmd.getDatabaseProductName());
        // Get a list of all the indexes for this table
      // this MYSCHEME.TABLENAME has a composite unique key on 2 columns of it.
       * create table MYSCHEME.TABLENAME (id integer not null, name varchar(25) not null);
       * create unique key on MYSCHEME.TABLENAME(id,name);
        ResultSet indexList = dbmd.getIndexInfo(null,null,"MYSCHEME.TABLENAME",true,false);
        ResultSet columns = null;
        indexList.next();
        while(indexList.next()) {
          System.out.println(" Index Name: "+indexList.getString("INDEX_NAME"));
          String column = indexList.getString("COLUMN_NAME");
          System.out.println(" Column Name:"+column);
          columns =  dbmd.getColumns(null,"MYSCHEME","TABLENAME",column);
          System.out.println("---------------------------");
          System.out.println(columns.getString("IS_NULLABLE"));
          System.out.println("---------------------------");
        indexList.close();
      con.close();
    catch (ClassNotFoundException e) {
      System.out.println("Unable to load database driver class");
    catch (SQLException e) {
      System.out.println("SQL Exception: " + e.getMessage());
it give error
SQL Exception: Invalid cursor state
why?
thanks a lot
Veena
[ November 10, 2005: Message edited by: Veena Gupta ]

indexList.next();
while(indexList.next()) {You will be missing the first record due to this.
columns =
dbmd.getColumns(null,"MYSCHEME","TABLENAME",column);
System.out.println("---------------------------");
System.out.println(columns.getString("IS_NULLABLE"));You need to call columns.next() before using the getString(). If next() is not called, the cursor of the ResultSet is positioned before the first record and an attempting to read a record before positioning the cursor to the first record would result in an exception due to invalid cursor state.

Similar Messages

  • How to get data of a particular column in action page

    Hi all,
    i have 2 page,a.jsp and b.jsp.in a.jsp i paste (Ctrl-V) table from a .xls file,which have say 5 row and 5 column.in which 1st row is a header and rest are data.
    now when i press submit then it's action go to b.jsp.here i m getting all row and column as i paste in a.jsp.but i want a select column (say 3) in this page and also order of column should be according to my choice.how can i do this.
    any suggestions from all corner r welcome.plz help me.

    Hello friends ,actually i have one iframe in my a.jsp ,where i paste data by copy from .xls sheet.
            my a.jsp is:
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript" src="gen_finance.js"></script>
    </head>
    <body>
    <form name="mainwithout" action="b.jsp" method="post" >
    <input name="content" value="" type="hidden">
    <IFRAME frameborder=no id=editframe name=editframe
    style="BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; MARGIN-TOP: 0.5em; MARGIN-BOTTOM: 0.5em; BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; BACKGROUND-COLOR: #ffffff"
    name=repIframe src="uframe.htm"
    width=900 height=200></IFRAME>
    <input type="button" name="button" value="button" onclick="_pf_add_submit_import();">
    </form>
    <script language="javascript">
    _pf_add_submit_import=function(){
                             var a=C("editframe");
                                  var ifmvalue=a.contentWindow.document.body.innerHTML;
                             document.forms.mainwithout.content.value=a.contentWindow.document.body.innerHTML;
                             document.forms.mainwithout.submit();
    </script>
    </body>
    </html>
    my b.jsp is:
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body >
    <%
    String b=request.getParameter("content");
    %>
    <%=b%>
    </body>
    </html>
    and myframe is :
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body contenteditable="true"><br>
    </body>
    </html>

  • How to get the focus of particular UI Element

    Hi All,
    How to get the focus of particular UI Element in webdynpro Page,
    I have a page where i am creating a ALV, I want to get that keyboard focus is on that element is there or not?
    Can anyone please give some update?
    Best regards,
    Rohit

    I would suggest try invoking REFRESH of ALV on the ON_CELL_ACTION event.
    Below excerpt is from Thomas
    The Events of inner UI elements are not exposed directly as they normally would be if they were standalone. Generally you can capture them using either the
    ON_DATA_CHECK:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/c8/6c80dbedfe42d1a93f8e6df1d7244a/frameset.htm
    This gets trigger for any press of ENTER, so it generally works like the Input Field onEnter.
    You could also consider ON_CELL_ACTION:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/45/12093591152464e10000000a1553f7/frameset.htm
    It is a higher level Event that encompasses both ON_DATA_CHECK and ON_CLICK.
    if you want to capture & refresh on some hot key combination then refer to this thread
    [https://www.sdn.sap.com/irj/scn/profile?editmode=true&userid=3760417]

  • How to get fourthly row (row4) first column value (col1) in matrix

    Hi to all,
    In FMS, how to get fourthly row (row4) first column value (col1) in matrix in document.
    select $[$38.1.4]
    But it display the first row
    Please give me hint.
    Thank you

    Hi Eric,
    FMS may only apply to current row.  There is no way to get any other fixed row.
    Thanks,
    Gordon

  • How to get keys of a particular type

    Following are my objects:
    DepartmentKey - primary key is departmentName, a String
    Department
    EmployeeKey - primary key is employeeId, an integer
    Employee
    I have 5 DepartmentKey-Department key-value entries in a cache and 2000 EmployeeKey-Employee key-value entries in the same cache.
    How do I get all the DepartmentKeys from the cache? In general, how to get keys of a particular type (class name)?
    Thanks
    Ghanshyam

    I guess I am deeply off track regarding the general approach towards storing items in the cache.
    Following is my problem domain:
    A Merchant is any establishment that accepts credit cards. (It could be the local Subway down the street or Macy's, etc.). A Transaction is a credit card transaction.
    public class Merchant implements Serializable{
    private String merchantId; // primary key
    private double averageTxnAmount;
    private double totalTxnAmount;
    private long totalTxnCount;
    public class Transaction implements Serializable{
    private String merchantId; // merchant that originated the txn
    private double amount;
    private Timestamp txnTime;
    private String txnType; // sale, return, etc.
    public class MerchantKey implements Serializable, KeyAssociation{
    private String merchantId;
    public Object getAssociatedKey{
    return merchantId;
    public class TransactionKey implements Serializable, KeyAssociation{
    private String merchantId;
    private Timestamp txnTime;
    private double amount;
    public Object getAssociatedKey{
    return merchantId;
    I want to update a merchant's average txn amount as transactions come in.
    Let's say I have a million merchants in a partitioned cache cluster spread across some machines.
    Transactions come into the cluster quite rapidly, say tens in a second. The process that inserts the transaction into the cluster must also update the merchant to which the transaction belongs, as follows:
    Transaction t = ...
    cache.put(tKey, t); // store the transaction into the cache
    MerchantKey mKey = new MerchantKey(txn.getMerchantId());
    Merchant m = (Merchant)cache.get(mKey);
    // update the merchant's avg txn amt
    m.setAverageTxnAmount((txn.getAmount() + m.getTotalTxnAmount())/m.getTotalTxnCount() + 1);
    m.setTotalCount(m.getTotalCount() + 1);
    // store the updated merchant back into cache
    cache.put(mKey, m);
    OR
    Transaction t = ...
    cache.put(tKey, t); // store the transaction into the cache
    MerchantKey mKey = new MerchantKey(txn.getMerchantId());
    Merchant m = (Merchant)cache.get(mKey);
    MerchantUpdater agent = new MerchantUpdater(t);
    cache.invoke(mKey, agent);
    public class MerchantUpdater implements AbstractProcessor{
    public Object process(Entry entry){
    Merchant m = (Merchant)entry.getValue();
    // update m's avg txn amt, total count using t
    entry.setValue(m);
    The basic idea is to store all merchants and all transactions (which could be tens of millions in a day) for a day in memory and to update the merchant objects as transactions come in throughout the day. The above example shows updating just the merchant's average txn amount, but in reality, it could be updating a number of things about the merchant.
    Am I using the api in the right spirit or is my approach seriously whacked? Can you please comment?
    Thanks
    Ghanshyam

  • How to get length of data on column with long datatype

    How to get length of data on column with long datatype without using pl/sql block

    ...another reason not to use LONG datatype for columns.
    Oracle advises to switch to LOB columns instead
    SQL> create table t
      2  (x long)
      3  /
    Table created.
    SQL> insert into t values (rpad ('x', 10000, 'x'))
      2  /
    1 row created.
    SQL> alter table t
      2  modify x clob
      3  /
    Table altered.
    SQL> desc t
    Name                                      Null?    Type
    X                                                  CLOB

  • How to get ALV Display with First column alone in sort

    How to get ALV Display with First column alone in sort

    HI,
    You can build Internal Table and send this to the parameter "IT_SORT".
    eg:
    "the sorting Internal Table structure is as whown below.
    DATA:  t_sort_info type slis_t_sortinfo_alv.
    "Build the Sort Internal Table
      t_sort_info-fieldname = 'CARRID'.
      t_sort_info-subtot = 'X'.
      append t_sort_info.
      t_sort_info-fieldname = 'FLDATE'.
      t_sort_info-subtot = 'X'.
      append t_sort_info.
    Then pass this "IT_SORT_INFO" table to the Function module "Reuse_alv_*". (Note send the body of the Internal table only like "<b>IT_SORT = IT_SORT_INFO[]</b>".
    Here i am making ALV output sorted on CARRID & FLDATE.
    You can specify only the First Column name for sorting.
    Regards,
    Manju
    Message was edited by:
            MANJUNATHA KS

  • HOW TO GET INFORMATION ABOUT THE CLIENT MACHINE AT DATABASE LEVEL

    HOW TO GET INFORMATION ABOUT THE CLIENT MACHINE AT DATABASE LEVEL USING 10g Database and 10g Application Server
    we have developed an application using oracle forms 10g with
    oracle database 10g and Application server 10g
    Application uses a single Oracle User name to connect to database
    where as at Application level there are different users (these are not database users)
    Now how can we get the information about the user/his machine etc. at database level. earlier in 6i/8i we use to get by using
    USERENV('TERMINAL')
    we had written a triggers on tables on Insert/Update where we used to update a database field Last user terminal with USERENV('TERMINAL')
    but not this information is comming to be the machine name of application server where as we wish this to be the machine name of Client. Any Way outs
    thanks
    Chaand Kackria

    hi, you can use the sys_context function, like this:
    select sys_context('userenv','current_user'),
         sys_context('userenv','os_user'),
         sys_context('userenv','host'),
         sys_context('userenv','ip_address'),
         sys_context('userenv','instance'),
         sys_context('userenv','sessionid'),
         sys_context('userenv','terminal')
    from dual;
    Is this what you 're looking for?

  • How to create event alert for particular column get updated

    Hi every one.... plz help me
    How to create oracle event alert when particular column is update. plz help me.... Acutually i need email alert when ever list price for an item column in pricing table get updated+... plz. Its urgent.

    Oracle Event alert is based on update of specific table and not on specific column in table.
    However you can create a trgigger on table which is based on updat of column. And in this trigger you can send a mail using plsql.
    HTH

  • "How to get distinct values of sharepoint column using SSRS"

    Hi,
        I have integrated sharepoint list data to SQL Server reporting services. I am using the below to query sharepoint list data using sql reporting services.
    <Query>
       <SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
       <Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
          <Parameters>
             <Parameter Name="listName">
                <DefaultValue>{GUID of list}</DefaultValue>
             </Parameter>
             <Parameter Name="viewName">
                <DefaultValue>{GUID of listview}</DefaultValue>
             </Parameter>
             <Parameter Name="rowLimit">
                <DefaultValue>9999</DefaultValue>
             </Parameter>           
          </Parameters>
       </Method>  
    <ElementPath IgnoreNamespaces="True">*</ElementPath>
    </Query>
    By using this query, I am getting a dataset which includes all the columns of sharepoint list. Among these columns, I wanted to display only 2 columns (i.e Region and Sales type) using chart. I have created a Region parameter but when I click preview, the drop down box is giving me all the repeatative values of region like RG1,RG1,RG1,RG2,RG2,RG2,RG2,RG3.......... I wanted to display only distinct values of Region parameter so that whenever end user select region from the parameter drop down, it will display the respective value of Sales type column.
    Also when I select only RG1 parameter, it is giving me a chart including the sales type of all the Regions. (it should display me only the sales type of RG1) How can I link these 2 columns so that they will display the values respectively.
              I would really appreciate if anyone can help me out with this.
    Thanks,
    Sam.

    Hi Sam,
    By code, the CAML language doesn’t have any reserved word (or tag) to set this particular filter to remove duplicate results.
    In this case, we could use the custom code to get distinct records.
    Here are the detailed steps:
    1.         Create a hidden parameter that gets all the records in one field.
    Note: Please create another dataset that is same of the main dataset. This dataset is used for the parameter.
    2.         Create a function that used to remove the duplicate records.
    Here is the code:
    Public Shared Function RemoveDups(ByVal items As String) As String
    Dim noDups As New System.Collections.ArrayList()
    Dim SpStr
    SpStr = Split(items ,",")
    For i As Integer=0 To Ubound(Spstr)
    If Not noDups.Contains(SpStr(i).Trim()) Then
    noDups.Add(SpStr(i).Trim())
    End If
    Next
    Dim uniqueItems As String() = New String(noDups.Count-1){}
    noDups.CopyTo(uniqueItems)
    Return String.Join(",", uniqueItems)
    End Function
    3.         Create another parameter that will be used for filtering the maindata.
    Please set the available value to be =Split(Code.RemoveDups(JOIN(Parameters!ISSUE_STATUS_TEMP.Value, ",")), ",")
    And the default value to be the value you what such as the first value:
    =Split(Code.RemoveDups(JOIN(Parameters!ISSUE_STATUS_TEMP.Value, ",")), ",").(0)
    4.         Go to the main dataset. Open the property window of this dataset.
    5.         In the “Filters” tab, set the filter to be:
    Expression: <The field to be filter>
    Operator: =
    Value: =Parameters!Region.Value
    The parameter “Region” should be the parameter we created in the step3.
    Now, we should get distinct values of SharePoint columns.
    If there is anything unclear, please feel free to ask.
    Thanks,
    Jin
    Jin Chen - MSFT

  • How to set color for a particular column in advance table?

    How can we set the color of a particular column in advance table based on some parameter feteched from vo query in process request?

    i have tried the same way as mentioned in the post but ,its giving error
    java.lang.ArrayIndexOutOfBoundsException: 0
    processRequest code
    OAAdvancedTableBean table =
    (OAAdvancedTableBean)webBean.findIndexedChildRecursive("TimEntAdvtbl");
    if (table != null)
    System.out.println("table");
    OAColumnGroupBean daily =
    (OAColumnGroupBean)table.findIndexedChildRecursive("DailyColGrp");
    if (daily != null)
    System.out.println("daily col");
    OAColumnGroupBean ColGrp6 =
    (OAColumnGroupBean)table.findIndexedChildRecursive("ColGrp6");
    if (ColGrp6 != null)
    System.out.println("ColGrp6");
    OAColumnBean SatCol =
    (OAColumnBean)webBean.findIndexedChildRecursive("SatCol");
    if (SatCol != null)
    System.out.println("col");
    OAMessageTextInputBean sat1 =
    (OAMessageTextInputBean)SatCol.findIndexedChildRecursive("sat");
    if (sat1 != null)
    System.out.println("sat1");
    OADataBoundValueViewObject csssat= new OADataBoundValueViewObject(sat1,"Color");
    sat1.setAttributeValue(oracle.cabo.ui.UIConstants.STYLE_CLASS_ATTR, csssat);
    Error Page
    ## Detail 0 ##
    java.lang.ArrayIndexOutOfBoundsException: 0
         at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:3199)
         at oracle.sql.NUMBER.toString(NUMBER.java:761)
         at oracle.sql.NUMBER.stringValue(NUMBER.java:2090)
         at oracle.jbo.domain.Number.toString(Number.java:390)
         at oracle.apps.fnd.framework.webui.OADataBoundValue.formatObject(Unknown Source)
         at oracle.apps.fnd.framework.webui.OADataBoundValue.convertValue(Unknown Source)
         at oracle.apps.fnd.framework.webui.OADataBoundValue.convertValue(Unknown Source)
         at oracle.apps.fnd.framework.webui.OADataBoundValueViewObject.convertValue(Unknown Source)
         at oracle.apps.fnd.framework.webui.OADataBoundValue.getValue(Unknown Source)
         at oracle.apps.fnd.framework.webui.OADataBoundValueViewObject.getValue(Unknown Source)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getAttributeValueImpl(Unknown Source)
         at oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean.getAttributeValueImpl(Unknown Source)
         at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source)
    Please help

  • Web item "TABLE" -- How to hide rows of a particular column.

    HI,
       In the web item "table", is there anyway that i can hide the rows of a particular column(for example: material column) except the result rows.
    Here is the Query result:
    Customer
    Material
    KF1
    KF2
    KF3
    Result__________________________400_____700____300
    1001_________________Result_____150_____300____150
    _____________________10_________100_____200____100
    _____________________20_________50______100____50
    1002_________________Result_____250_____400____150
    _____________________10_________100_____200____100
    _____________________20_________150_____200____50
    After formatting the query result looks like:
    Customer
    Material
    KF1
    KF2
    KF3
    Result__________________________400_____700____300
    1001_________________Result_____150_____300____150
    1002_________________Result_____250_____400____150
    How can i hide the item rows except the "Result" rows of the material column?
    regards,
    ravi

    Dear Ravi,
    look in the BW WEB API Documentation on help.sap.com for more details (or just search in SDN for it).
    In General:
    - create class which inherit from CL_RSR_WWW_MODIFY_TABLE
    - redifine method CHARACTERISTIC_CELL
    - insert coding:
      if i_iobjnm eq '0MATERIAL' and i_IS_SUM is initial.
      free C_CELL_CONTENT.
      endif.
    - Insert the parameter MODIFY_CLASS with the name of your new class into your template
    result: you see the result of the column but not the single values.
    Hope this answer your question.
    Regards Marcus
    Message was edited by: Marcus Pospiech

  • How to get the values in separate columns

    Hello Everyone
    I am new to Bex, i have the sales data of 2008,2009,2010. now i have to display the sales order(key figure) for 2008,2009,2010 in separate columns for each customer(dimension) in a single report , can any one help me how to get this done in bex.
    Thanks
    Gupta

    Hi ,
    You can achieve this either creating New Selections or Restricted Key Figures.
    Right click on the structute>>>> New selcection>>> drag the year to right [  Right Click on it >>restrict it with 2008}>>>Drag the respected Key figure.
    So u will get the values 2008 in seperate column.
    COpy the New Selecten that u created and paste on the structure , chage the descriprion and year to 2009.
    do the same for 2010.
    Note:you can also achieve this by creating variable offsets.Check the following link
    http://help.sap.com/saphelp_bw33/helpdata/en/3f/89533e5ff4d064e10000000a114084/content.htm
    Regards,
    Ranganath

  • How to get txt output in a column?

    Don't know and can't find anywhere, how to get output in a column in a dynamic textfield
    instead of getting the output i.e.
    output1, output2, output3, etc
    I would like to have it as
    output1
    output2
    output3
    but I don't know how to make returns in flash - in php /n
    can anyone answer my 'simple' question
    Thanx

    I solved it like this and it's working, but it seems silly, because I have 10 dynamic fields like this - I have tried /n to get all the outcome into 1 dynamicfield called total_txt but where and how do I put in /n?
            total_txt.text = Number(qty1_txt.text)+ " X " + "art 1"
            aAmount_txt.text = Number(qty1_txt.text)+ " X " + "art 1"
            bAmount_txt.text = Number(qty2_txt.text)+ " X " + "art 2"
            cAmount_txt.text = Number(qty3_txt.text)+ " X " + "art 3"
            dAmount_txt.text = Number(qty4_txt.text)+ " X " + "art4"
            eAmount_txt.text = Number(qty5_txt.text)+ " X " + "art5"
            aprice_txt.text =  Number(price1_txt.text) + ",- " +"  Euro's"
            bprice_txt.text =  Number(price2_txt.text) + ",- " +"  Euro's"
            cprice_txt.text =  Number(price3_txt.text) + ",- " +"  Euro's"
            kprice_txt.text =  Number(price4_txt.text) + ",- " +"  Euro's"
            eprice_txt.text =  Number(price5_txt.text) + ",- " +"  Euro's"

  • How to get rows values in a column only ?

    How to get all returned values in rows in a column.
    e.g., a query gives output as :
    123
    234
    233
    12121
    all in different rows. But i want the result like this:
    123,234,233,12121.All in a single row and a single column .
    How is this possible ?

    prakash wrote:
    hi ,
    Use the following example
    CREATE or  replace  FUNCTION fn_return_row
    RETURN VARCHAR2
    IS
    v_row   VARCHAR2 (32767);
    BEGIN
    FOR curr_row IN (SELECT ename
    FROM emp11)
    LOOP
    v_row := v_row ||','|| curr_row.ename;
    END LOOP;
    RETURN v_row;
    EXCEPTION
    WHEN OTHERS
    THEN
    RETURN NULL;
    END fn_return_row;
    select fn_return_row from dual ;Thanks,
    P PrakashThere's no need to use PL/SQL when SQL provides adequate functionality to do it.
    The title of the thread is misleading as turning rows into columns is called pivoting, but the description of the issue wanting to join all the rows together into a single column, is actually called string aggregation.
    As already demonstrated it can be done several ways.
    1. with XML functionality
    2. using the SYS_CONNECT_BY_PATH method
    and if you have 11gR2, there's...
    3. the new LISTAGG analytical function.
    There is also an undocumented WMSYS.WM_CONCAT function, though this isn't as flexible as other methods in that you can't control the order of the aggregated data so easily, and using such undocumented functions in production code is dangerous, as the functionality could change in future versions of Oracle, as well as it's use making your code such that Oracle will not provide support if the code with issue is using it.

Maybe you are looking for