Raw Values in all_tab_columns (8i)

I want to retreive Low_value and High_value from all_tab_columns. These fields use the raw datatype. How do I convert them to a decimal number. I am using Oracle 8i.
Thanks,
Les Smith

Hi,
Thanks everyone who replied to my question. I found the stats table created by the DBMS_STATS package would store the low_value and high_value in a decimal format. I used the DBMS_STATS.EXPORT_TABLE_STATS procedure to take the system statistics and place them in a user stats table.
Here is the approach I took:
DECLARE
BEGIN
--CREATE A USER TABLE TO HOLD THE STATISTICS
DBMS_STATS.CREATE_STAT_TABLE (
'ADW',
'STATS_TAB');
--RUN STATS TO POPULATE SYSTEM STAT TABLE
SYS.DBMS_STATS.GATHER_TABLE_STATS (
'ADW',
'MSF');
DBMS_STATS.EXPORT_TABLE_STATS (
ownname => 'ADW',
tabname => 'MSF',
stattab => 'STATS_TAB');
END;
SELECT
C4 AS COLUMN_NAME,
N1 AS NUM_DISTINCT,
N5 AS NUM_NULLS,
N6 AS LOW_VALUE,
N7 AS HIGH_VALUE,
N8 AS AVG_COL_LENGTH
FROM STATS_TAB
WHERE TYPE ='C'

Similar Messages

  • Can not user Raw value as NULL return in Select List

    Help me!
    I recently converted my application to take advantage of the sys_guid() function that oracle offers over the sequence/trigger option.
    However, I user a hierarchical set up and I need to be able to insert a RAW value of '00' if the user does not select something in a select list. When I try to do this, I get an "ORA-01465: invalid hex number" error.
    I've also tried to return 00 and HEXTORAW(0) but that didn't work either. Infact 00 return a can not insert null value. Please help as I believe the sys_guid function is the best choice if I can make it work.

    Hey Scott, my first name is Daniel.
    Here is in detail the reason for which I want to be able to work with RAW. As everyone knows, most of your tables your going to have a UID. In general this is going to be a NUMBER column into which you will insert values that populate from a trigger getting the nextval of a sequence and returning the result into the NUMBER column of the row being inserted.
    This, however, requires a trigger and a sequence. Not that that's really a bad thing, I just think it can be done better. All we are really after here is a UUID or GUID. The thing is if you used a sequence to generate this value, you don't have a good way of knowing that the number is truly unique. You'll learn this as soon as you try to merge with a table from another database or do something else of the like.
    What I prefer to do is to use Oracle's SYS_GUID function when I create a table. To use this function you create a RAW(16) DEFAULT SYS_GUID(). From that point you don't even need to reference the column on insert, unless you're inserting into * and in that case you just specify DEFAULT. The use of sys_guid means I don't need a trigger and I don't need a sequence, and the result will always be unique, regardless of the DB.
    In APEX, and elsewhere, the way you use a select list is with a display value and a return value. An example would be, emp_name as the display value and emp_id as the return value. In my case, the emp_id would be the RAW values returned by the SYS_GUID() function when the employee was created. But it's not working because of the RAW value.
    I know that APEX can enter the value in session state that is returned from a RAW column because I did a test earlier and it worked. I would have to see it in session state for debugging. *** The problem is in creating a new record. ***
    APEX really does not have to work with the RAW column because the default value has been specified. But for some reason, it does not like it anyway. I found this problem when working with parent/child relationships in my tables.
    Lets say there are three columns GUID, TITLE, and PARENT. When creating a new record, I allow the user to select its parent. If the new record IS a parent then they would leave it as the default '- Is Parent -' and the PARENT column would be left as NULL. But because the GUID is RAW to make the relationship work with the parent, the PARENT column would be RAW too and APEX gives me the errors I was telling you about before.
    Sorry for going on so long. I don't know if I even got my point across. ;) Please let me know if you need me to do something on my part to further demonstrate my point. I would be happy to set up a demo if requested.

  • How do you restrict the scorm reporting to only set raw value if 100

    I have an issue with the LMSSetValue cmi.core.score.raw output from a Captivate 4 course published to SCORM 1.2.
    I need to customise it so that the course only sends an LMSSetValue command to the LMS if cmi.core.score.raw is '100', and not on every slide when the value is '0'
    Can anyone help me with some code for the course html file?
    Thanks
    Dave

    What the remote user can do is to implement this policy . Allow UDP protocol on port 5060 but the only source should be west.broadcore.com.
    Unfortunately, Apple routers are quite simple, and do not have the features and settings that you would need to do this.
    However, if you are using a modem/router or gateway device with the AirPort Express, then you might be able to set up the modem/router to do what you need. What is the make and model number of the device that you likely call your "modem"?

  • Problem getting a LONG RAW value

    Hi,
    I cannot make this code work:
    OracleCommand cmd = new OracleCommand("ABC$MYPACKAGE.GetLogo", new OracleConnection(_constr));
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.InitialLONGFetchSize = -1;
    cmd.Connection.Open();
    cmd.BindByName = true;
    OracleParameter p = cmd.Parameters.Add("parameter_no1", OracleDbType.Decimal);
    p.Value = 10549923;
    p.Direction = ParameterDirection.Input;
    p = cmd.Parameters.Add("parameter_no2", OracleDbType.Decimal);
    p.Value = 656427;
    p.Direction = ParameterDirection.Input;
    p = cmd.Parameters.Add("RETCURSOR", OracleDbType.RefCursor);
    p.Direction = ParameterDirection.Output;
    OracleDataReader reader = cmd.ExecuteReader();
    if (reader.Read())
    ... code here ...
    cmd.Connection.Close();
    It keeps throwing AccessViolationException when executing the reader.Read() statement.
    The only value the ref cursor returns is a LONG RAW, but it fails even before I try to access that through the reader. I cant seem to find the problem!
    regards,
    Carl

    Can you try out changing ExecuteReader to ExecuteNonQuery and get OracleDataReader from the OracleRefCursor stored in p.Value?
    Something like -
    cmd.ExecuteNonQuery();
    OracleRefCursor cur = p.Value;
    OracleDataReader reader = cur.GetDataReader();

  • Dropdown Menu same raw value changes back to top list item

    Ok guys.  I have such a weird issue.  I have some code as follows from a dropdown menu:
    <items>
                         <text>Zeutering</text>
                         <text>Rabies 1 Year (Dog or Cat)</text>
                         <text>Puppy Pack (DAPPv and Dewormer)</text>
                         <text>Kitten Pack (HCP+FeLV and Dewormer)</text>
                         <text>Adult Dog Pack 1 (Rabies, DAPPvL2+CV and Dewormer)</text>
                         <text>Adult Cat Pack 1 (Rabies, HCP+FeLV, and Dewormer)</text>
                         <text>Deluxe Adult Dog Pack (Rabies, DAPPvL2+CV, Bordatella, and Dewormer)</text>
                         <text>Heartworm Pack (Heartworm test + six months of prevention)</text>
                         <text>Microchip (Home Again Chip)</text>
                         <text>Flea and Tick Medications</text>
                      </items>
                      <items save="1" presence="hidden">
                         <text>65.00</text>
                         <text>10.00</text>
                         <text>20.00</text>
                         <text>25.00</text>
                         <text>35.00</text>
                         <text>35.00</text>
                         <text>50.00</text>
                         <text>95.00</text>
                         <text>30.00</text>
                         <text>10</text>
                      </items>
    The problem I am having is this.  When I select  <text>Adult Cat Pack 1 (Rabies, HCP+FeLV, and Dewormer)</text>  from the dropdown menu the option goes to   <text>Adult Dog Pack 1 (Rabies, DAPPvL2+CV and Dewormer)</text>   which is the option above the option I selected as noted above.  The only thing I can think of is that because they have the same value it is causing this to happen.  I've never had an issue like this before with dropdown menus so I'm not sure how to fix it.
    Any help is much appreciated.
    Justin

    Hi Justin,
    You are right, the dropdown only works if the values are unique.  So one fix would be to add something to the value making it unique and then striping it off when selected.  So if your values were;
                <items save="1" presence="hidden">
                   <text>65.00:1</text>
                   <text>10.00:2</text>
                   <text>20.00:3</text>
                   <text>25.00:4</text>
                   <text>35.00:5</text>
                   <text>35.00:6</text>
                   <text>50.00:7</text>
                   <text>95.00:8</text>
                   <text>30.00:9</text>
                   <text>10:10</text>
                </items>
    In the change event you could have some JavaScript code something like;
    var valueId = this.boundItem(xfa.event.newText);
    app.alert(parseFloat(valueId));
    The parseFloat function will stop parsing when it hits an invalid character like the colon.
    It is tempting to use a natural key (as you have) but I would probably have used a surrogate key (that is something only the form knows about, like 1,2,3, etc) and then look it up in some structure maybe as simple as a JavaScript array, depends on the complexity of your form.
    Hope this helps,
    Bruce

  • How do I get raw values into engineerin​g units

    New to Fieldpoint and Labview 8.2. Got my 4-20 mA signal readings in MAX, but how do I covert these to engineering units, Is it done in MAX or do I need to do it in Labview?

    I believe you will have to do the conversion in Labview.
    Attached is a VI I wrote to do that.  For 4-20 mA, wire 4 into Min in and 20 into Max in.  Wire your engineering units Max and Min into Max out and Min out.  Put the measurement into Input, you'll get the converted value out of output.
    Attachments:
    Rescale.vi ‏13 KB

  • Raw high_value in the all_tab_columns table

    There are some columns defined as float(126) in my database. I need to find out the highest values held in these columns. I am using the high_value column (defined as raw) in the all_tab_columns table. Is there a way to convert raw hig_value to number/decimal?
    oracle version - 8i

    Please read about [url http://download-west.oracle.com/docs/cd/A87860_01/doc/appdev.817/a76936/utl_raw2.htm]UTL_RAW in the manual
    Regards,
    Rob.

  • How to read the raw (volt) value of a AI scaled Fieldpoint Channel in Labiew?

    Is there a labview native vi to read the Raw value of a pre-scaled (Max) fieldpoint channel?  I can't seem to find anything in the advanced palette either...
    Thanks...

    Howdy!
    I am confused since the subject and your question seem conflicting.
    However, the process of reading a scale and none scale FieldPoint
    channel in LabVIEW is basically the same. You will create a scaled
    channel in MAX and then use the FieldPoint Read and Write VIs and
    select the appropriate FieldPoint I/O Tag. See KnowledgeBase 2HFB8PQ7 How do I Read, Write, or Scale Multiple Channels on a Fieldpoint Module in La... for more information
    Joshua B.
    National Instruments
    NI Services
    NI Support Resources
    NI Training Resources

  • Numeric or value error: hex to raw conversion error , pls help

    I am having problem with a sproc which accepts a Raw parameter.
    I have a table called Profile:
    CREATE TABLE PROFILES
    PROFILEID INTEGER NOT NULL,
    USERID INTEGER NOT NULL,
    PROFILE RAW(255)
    and a sproc named addprofile
    CREATE OR REPLACE PROCEDURE addprofile
    profile IN RAW,
    userName IN VARCHAR2
    AS
    userId INT;
    BEGIN
    GetUserIdByName( userName, userId);
    INSERT INTO Profiles
    ( ProfileID,userId , profile )
    VALUES ( Profiles_ProfileID_SEQ.NEXTVAL,AddProfile.userId ,
    AddProfile.profile );
    END;
    I am calling the Ent Library's Insert profile method which is part of DbProfileProvider.cs (Security App block). It is trying to persist a serialized profile object into the database.
    private void InsertProfile(string userName, byte[] serializedProfile,
    Data.Database securityDb, IDbTransaction transaction)
    DBCommandWrapper cmd = securityDb.GetStoredProcCommandWrapper
    (SPAddProfile);
    cmd.AddInParameter("userName", DbType.String, userName);
    cmd.AddInParameter("profile", DbType.Binary, serializedProfile);
    securityDb.ExecuteNonQuery(cmd, transaction);
    I get the following error:
    Any suggestion on what needs to be changed to get this working? thanks!
    Exception Details: Oracle.DataAccess.Client.OracleException: ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error ORA-06512: at line 1
    Stack trace:
    [OracleException: ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error
    ORA-06512: at line 1]
    Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
    Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src)
    Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
    Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteNonQuery(DBCommandWrapper command)
    Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DBCommandWrapper command, IDbTransaction transaction)
    Microsoft.Practices.EnterpriseLibrary.Security.Database.DbProfileProvider.InsertProfile(String userName, Byte[] serializedProfile, Database securityDb, IDbTransaction transaction)
    Microsoft.Practices.EnterpriseLibrary.Security.Database.DbProfileProvider.SetProfile(IIdentity identity, Object profile)
    [InvalidOperationException: Error saving the profile for the following user 'test'.]
    Microsoft.Practices.EnterpriseLibrary.Security.Database.DbProfileProvider.SetProfile(IIdentity identity, Object profile)
    EntLibSecuritySample.DFO.Security.SecurityHelper.SetUserProfile(IIdentity identity, Object Profile) in C:\DFO\Sample\Security\EntLibSecuritySample\SecurityHelper.vb:285
    [ApplicationException: An error has occurred saving profile object to Datastore. See stack trace for further information]
    EntLibSecuritySample.DFO.Security.SecurityHelper.SetUserProfile(IIdentity identity, Object Profile) in C:\DFO\Sample\Security\EntLibSecuritySample\SecurityHelper.vb:287
    EntLibSecuritySample.ProfilePage.cmdSaveProfile_Click(Object sender, EventArgs e) in C:\DFO\Sample\Security\EntLibSecuritySample\profile.aspx.vb:59
    System.Web.UI.WebControls.Button.OnClick(EventArgs e)
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
    System.Web.UI.Page.ProcessRequestMain() +1292

    Harsh,
    I am not a user of the Enterprise Library so I can not speak to the specifics of that. However, here is a short sample that is based on the information you've provided. Perhaps it will be useful.
    Database:
    create table profiles
      profileid integer not null,
      userid    integer not null,
      profile   raw(255)
    create or replace procedure addprofile
      p_profileid in integer,
      p_userid    in integer,
      p_profile   in raw
    as
    begin
      insert into
        profiles (profileid, userid, profile)
        values (p_profileid, p_userid, p_profile);
    end;
    /C# code:
    using System;
    using System.Data;
    using System.Text;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;
    namespace HarshTest
      /// <summary>
      /// Summary description for Class1.
      /// </summary>
      class Class1
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
          // connect to local db using o/s authentication
          OracleConnection con = new OracleConnection("User ID=/; Pooling=False");
          con.Open();
          // create command object and set properties
          OracleCommand cmd = new OracleCommand();
          cmd.Connection = con;
          cmd.CommandText = "ADDPROFILE";
          cmd.CommandType = CommandType.StoredProcedure;
          // parameter object for profileid
          OracleParameter p_profileid = new OracleParameter();
          p_profileid.OracleDbType = OracleDbType.Int32;
          p_profileid.Value = 1;
          p_profileid.Direction = ParameterDirection.Input;
          // parameter object for userid
          OracleParameter p_userid = new OracleParameter();
          p_userid.OracleDbType = OracleDbType.Int32;
          p_userid.Value = 1;
          p_userid.Direction = ParameterDirection.Input;
          // create a byte array for the raw value
          ASCIIEncoding encoder = new ASCIIEncoding();
          byte[] byteArray = encoder.GetBytes("TestProfile");
          // parameter object for profile
          OracleParameter p_profile = new OracleParameter();
          p_profile.OracleDbType = OracleDbType.Raw;
          p_profile.Value = byteArray;
          p_profile.Direction = ParameterDirection.Input;
          // add parameters to collection
          cmd.Parameters.Add(p_profileid);
          cmd.Parameters.Add(p_userid);
          cmd.Parameters.Add(p_profile);
          // execute the stored procedure
          try
            cmd.ExecuteNonQuery();
          catch (OracleException ex)
            Console.WriteLine(ex.Message);
          // clean up objects
          p_profile.Dispose();
          p_userid.Dispose();
          p_profileid.Dispose();
          cmd.Dispose();
          con.Dispose();
    }Maybe the part about creating the byte array is what you are missing...
    - Mark

  • SqlDeveloper  2.1.1.64:  data export of raw column -- unexpected values?

    I have a legacy application that loads an Oracle 10g table with values as it runs. One of the columns is an MD5 hash ( : raw).
    I ran the application a number of times and then dumped the table to a CSV file using Export Data -> csv. In each run, the values in the column are all 32-character hex values (e.g., "9AB7681358DB4D268F8A93BB2C395992").
    However, in the CSV file (or text file, or XML file; it doesn't matter which format I export to), for about half of the table instances, the values have been corrupted (e.g., "[B@168a345").
    For the other half of the table instances, the values in the output file are as expected.
    If
    "216CEE3F0A6806514A4B54A40984924C" in the table ends up being "216CEE3F0A6806514A4B54A40984924C" in the output file, but
    "9AB7681358DB4D268F8A93BB2C395992" in the table ends up being "[B@168a345" in the output file,
    what kind of rounding/conversion is happening?  Is there a way to override it?
    Thanks!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    No clue off how it's converting/rounding off the top of my head...but what if you explicitly tried converting it and see if it still comes out funny. Maybe RawToHex(RawVal) instead of just selecting the Raw value straight.

  • How to receive parameters from a form and insert values in db using servlet

    Hi friends,
    My first question here.
    I'm trying to create a Servlet that takes input from a form and process it and insert it in database.tablename.
    My MAIN ISSUE IS WITH THE NUMBER OF COLUMNS THAT WOULD BE DYNAMIC AND THUS CANT RECEIVE THE PARAMETERS IN STATIC CODE.
    Here is the form code
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <form action="Test" method="post" />
    <table width="90%" border="1" cellspacing="1" cellpadding="1">
    <tr>
    <th scope="col">Student Name</th>
    <th scope="col">RollNo</th>
    <th scope="col">Java</th>
    <th scope="col">J2ee</th>
    </tr>
    <tr>
    <td><input type="text" name="studentname" /></td>
    <td><input type="text" name="rollno" /></td>
    <td><input type="text" name="java" /></td>
    <td><input type="text" name="j2ee" /></td>
    </tr>
    <tr>
    <td><input type="text" name="studentname" /></td>
    <td><input type="text" name="rollno" /></td>
    <td><input type="text" name="java" /></td>
    <td><input type="text" name="j2ee" /></td>
    </tr>
    <tr>
    <td><input type="text" name="studentname" /></td>
    <td><input type="text" name="rollno" /></td>
    <td><input type="text" name="java" /></td>
    <td><input type="text" name="j2ee" /></td>
    </tr>
    </table>
    <input type ="submit" value="insert values in the database now"/>
    </form>
    </html>
    And here is the Servlet
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.io.*;
    public class Test extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String title = "Module: Process Result Values from previous page";
    out.println("<html>\n" +
    "<head><title>" + title + "</title></head>\n" +
    "<body>");
              try
                   Class.forName("com.mysql.jdbc.Driver");
                   Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/","root", "root");
                   Statement s = con.createStatement();
    ResultSet res = s.executeQuery("SELECT * FROM dbname.tablename");
    ResultSetMetaData rmeta=res.getMetaData();
    int noofcolumns=rmeta.getColumnCount();
                   if(!con.isClosed())
              catch(Exception e)
    System.out.println("Exception"+e);
    out.println(e);
    if(connectionFlag==1)
    out.println("</body></html>");
    doGet(request, response);
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    This is the basic code structure and I'm trying to figure out this special case with handling the multiple parameters:
    1. I dont' want to use String []a=request.getParameterValues("studentname"); as hard code. The reason being the number of rows will be diyamic and I would like to get the column name and then then use an array of string to take values. But how can I connect these to form a query so that the rows goes on inserted one after other.
    Thanks,
    Mashall

    Thank you for your help.
    I'm something close to it but this segment of code throws a NullPointerException Error. I counted number of rows and columns using the methods getColumnCount() and getColumnName(i).
    ResultSetMetaData md = res.getMetaData(); //Get meta data for the resultset
    int noofcolumns=md.getColumnCount();
    out.println("<br />Number of columns in table (including name and roll number) :::: "+noofcolumns+"<br />");
    for(int i=1;i<=noofcolumns;i++) // access column 1....n
    String columnname = md.getColumnName(i); // get name of column 1....n
    out.println("<br />Current column name ::: "+columnname+"<br />"); //check if the name appear correct.
    String []columndata = request.getParameterValues(columnname); //Get raw value in array
    for(int j=1;j<=rows;j++) // here rows is number of rows in each column
    out.println("To be inserted: <b>"+columndata[j]+"</b> in Row ::: "+j+"<br />");
    //The line above thows null pointer exception.
    }

  • Getting all_tab_columns.data_default in a ddl trigger

    Under 10.1.0.3 I'm working on an AFTER CREATE or ALTER on DATABASE system trigger, and I'm querying all_tab_columns in the trigger body. It seems that if the trigger fires in response to DDL that modifies a column's default value, then all_tab_columns.data_default is giving me the column's old default. I want to get the current default value. If I create the table or add a column, then, in the resulting fire of the system trigger, all_tab_columns.data_default seems to be correct.
    Is this documented behavior? Should I be looking somewhere (or somewhen) else for the column default?

    Thanks.
    I tried working around this by putting my code into a procedure, and then using the DDL trigger to create a job that runs the code. My idea was to defer the all_tab_columns query until after the DDL trigger was done, and thus get a clean look at the data dictionary.
    I put what looks like the appropriate dbms_scheduler calls into the trigger, but when I then execute DDL to fire the trigger I get "ORA-04092: cannot in a trigger"
    The doc for this error number says that I am trying to commit or rollback in a trigger, but I'm not explicitly doing that. Also, the error message is supposed to have either the word "commit" or the word "rollback" in the message to tell me what I am doing. Instead, though, the error message just has a space there.
    Maybe I'll start a TAR and see if 10.1.0.3 can get appended to the growing list of versions tied to this bug.

  • JDBC and Long RAW datatypes

    I have written a Java/JDBC program that grabs jpeg images. I would like to store them in an Oracle database in a LONG RAW column (for legacy databases b4 BLOBs). Can someone show me some sample code that would allow me to do this??? All help is GREATLY appreciated.
    TIA
    RHC

    From http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements001.htm#i54330
    >
    RAW(size)
    Raw binary data of length size bytes. Maximum size is 2000 bytes. You must specify size for a RAW value.
    LONG RAW
    Raw binary data of variable length up to 2 gigabytes.

  • Copy Long raw from oracle table to table

    Hi
    I am wondering if someone help me to move (copy) long raw data from one table to another. I want to do:
    select long_raw_data from table1;
    insert into table2 values (previously selected long raw value).
    I wrote the following small java code, but it doesn't work. I get the following exception:
    java.sql.SQLException: ORA-00936: missing expression.
    ---------- Code: ---------
    import java.net.URL;
    import java.sql.*;
    class myJDBC
    public static void main (String args[])
    try {
    Class.forName ("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@test:1521:devtest";
    Connection con = DriverManager.getConnection (url, "test", "test");
         Statement stmt = con.createStatement ();
         Statement insStmt = con.createStatement ();
    ResultSet res = stmt.executeQuery (
    "SELECT resume_data FROM resume where rownum < 26 ");
    while (res.next ()) {
         byte[] bytes = res.getBytes(1);
         insStmt.executeUpdate("INSERT INTO TMP_RESUME VALUES (" + bytes + ")");
    // clean-up
    stmt.close ();
    con.close ();
    catch (Exception e) {
    System.out.println (e.getMessage ());
    e.printStackTrace ();
    ------------ Code ends ---------------
    Thanks for your help
    V Prakash

    use PreparedStatement :
    PreparedStatement insStmt = connect.prepareStatement("INSERT INTO TMP_RESUME VALUES (?)");
    while (res.next ())
    byte[] bytes = res.getBytes(1);
    insStmt.setBytes(1,bytes);
    insStmt.executeUpdate();
    I don't remember very querys with ORACLE,
    but you may be do this in one time with
    SELECT ...... INTO ....
    or
    INSERT ..... INTO ..... SELECT
    One of this is valid for ORACLE and the other for SYBASE ...

  • RFC Adapter and RAW type

    SAP System has RAW(16) fields for GUID. This type is equals to base64Binary with maxLength 16.
    The sender system has GUID as 32 lenght string for example - 44239C1A8E35002E000000000A121A29
    How do I have to encode this GUID?
    I have tried 4 ways but they don't work.
    - Java  function  (new String(com.sap.aii.utilxi.base64.api.Base64.encode(a.getBytes()));)
    - Java function with toHex functionality
    - Java function with BinaryCodec from jakarta
    - I have changed sender xml type to base64Binary

    It works for me when I receive RAW value (as CHAR 22) and pass that value to another function.
    But I don't know how to convert char22 to char32. There  is FM for conversion but it returs wrong value for my char 22 string(I think it is beacuse RFC Adapter performs internal conversion)

Maybe you are looking for