UpdateRow problem...

Hi all,
It's my first time try using JDBC 2.0 API, here is the problem:
If I use:
uprs.last();
uprs.updateFloat("PRICE", 10.99f);
uprs.updateRow();
Ok, It's no problem at all, but when I using:
uprs.getString(1);
uprs.last();
uprs.updateFloat("PRICE", 10.99f);
uprs.updateRow();
It throws a exception:
error in row
I use a JDBC:ODBC bridge coneect to a Access database.
Please help me!
Thanks in advance!

Have you positioned on a row before calling
uprs.getString(1);?
It could help if you find out which code line causes the exception.
Either spread outputs in your code likeSystem.out.println( "Next: getString(1)" );or put each "suspicious" line in an own try-catch-block.

Similar Messages

  • UpdateRow() problem fixed, thanks!

    I got my problem worked out, but had to ditch the UpdateRow() statement to do it. It turns out that I had an indexed view that I'd forgotten about, which was causing problems. I removed all the indexes and the updates sped up dramatically using a standard UPDATE statement. The UpdateRow() statement never improved, though. Oh well, it's doing what it needs to do now. Thanks for your help, BAM

    even though you have found an acceptable work-around I just wanted to throw my two cents in.
    first, are running those update rows inside a transaction? just wondering...
    second, i wonder if it is slow because you are updating a column used in the where. as a guess i wonder if it is requerying the result set on every update...

  • ResultSet updateRow() problem

    The RDBMS I am working with is:
    Apache Derby version = 10.1.2.1
    I cannot seem to figure out why this ResultSet update is not working.
    I create the ResultSet with the following:
    Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE, ResultSet.HOLD_CURSORS_OVER_COMMIT);The query that I execute to return the result set contains the primary key, FROM contains only one table, and the query contains no JOINS or UNIONS.
    So then I call next()
    Update all the columns that I am interested in updating, up to this point everything is fine, I can get the column that I updated out, and the values are the updated ones.
    When I call updateRow(), I get: Invalid cursor state - no current row
    But there is a current row, I am updating columns in it and those updates are taking place.
    Any help is appreciated.
    Thanks

    yes, it returns true.
    and it is the row that I am interested in. If
    immediately after the next() I get one of the
    columns, it is the correct value, then I set it using
    updateXXX, then get it out again it is the updated
    value. All as I would expect it to work.
    But on the call to updateRow() - Invalid cursor state
    - no current row.Then I would suspect that the database driver you're using doesn't support updateable resultsets (?)
    You do realize that not all databases support that, right?
    Although it would seem that you should get a different error message in that case, hence the (?) above.

  • Problem with updateRow() of resultset

    When using JDBC-ODBC bridge accessing MS SQL Server 8.0.
    I issue the rs.updateRow(), and receive the following error:
    class java.sql.SQLException [Microsoft][ODBC SQL Server
    Driver]Invalid attribute/option identifier
    Any one out there have an idea ???
    Jagpate

    Hi Rolandpish:
    I'm using the following on Windows XP Pro:
    Product : Microsoft SQL Server, Version : Microsoft SQL Server  2000 - 8.00.760 (Intel X86)
               Dec 17 2002 14:22:05
               Copyright (c) 1988-2003 Microsoft Corporation
               Enterprise Evaluation Edition on Windows NT 5.1 (Build 2600: Service Pack 1)
    Driver : SQLServer, Version : 2.2.0029I haven't been able to get ResultSet.CONCUR_UPDATABLE.... how did you managed to get that accomplished (pls don't tell me it's because I'm using an Evaluation Edition).
    ;o)
    V.V.

  • Query update on each iteration problem (MS SQL Sever / ODBC / Native Driver

    Hello,
    I�ve been working to learn some Java and now JDBC over the past 10 or so months.
    I think I have a general understanding of how to perform queries and work with data using JDBC. However, I�ve run into a problem. I�m trying to do a query of a set of data in a database based on the value of a status column. I want to loop over the messages and perform various functions with the data then update their status in the database. It�s preferable to do these 250 to 1000 rows at a time, but no more and no less.
    I�m connecting to MS SQL Server 2000, currently with ODBC. I�ve also tried it with the Java SQL Server 2000 drivers provided by Microsoft with the same results.
    I�ve found that I can do a one table query and loop though it with a while (rs.next()) {�} and run an Update statement with executeUpdate on each iteration without any problems, no matter the number of rows returned in query.
    I have not been able to use the updateString and updateRow inside the while loop. I keep getting errors like this at the line with the updateRow():
    Exception in thread "main" java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Row update failed.
    This occurs no mater how many rows I select, 1 or more.
    The real problem I�ve been having is that the query I need to loop though joins across several tables and returns some rows from some of those tables. This only seems to work when I query for 38 or less selected rows and I use an Update statement with executeUpdate on each iteration. The updateString and updateRow methods never work. Any number of rows selected greater than 38 causes a deadlock where the Update is waiting for the select to compete on the server and the Update can�t proceed until the Select is complete.
    As I stated above I�ve tried both ODBC and the native SQL Server driver with the same results. I have not tried any other databases, but that�s moot as my data is already in MS SQL.
    Questions:
    How can I avoid or get around this 38 row limit without selecting each row, one at a time?
    What am I doing wrong with the updateString and updateRow?
    Is there a better approach that anyone can suggest?
    Here�s some sample code with the problem:
    import java.sql.*;
    public class db1{
         public static void main(String[] args) throws Exception{
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              String url = "jdbc:odbc:eBrochure_live";
              Connection con = DriverManager.getConnection(url, "sa", "d3v3l0p");
              Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
              Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://dcm613u2\\dcm613u2_dev:1433", "sa", "d3v3l0p");
              Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
              Statement stmt2 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
              stmt.executeUpdate("USE [myDatabase]");
              stmt2.executeUpdate("USE [myDatabase]");
              String qGetMessages = "SELECT TOP 250 t1.messageUUID, t1.subjectHeader, t2.emailAddress as toAddress " +
              "FROM APP_Messages as t1 JOIN APP_addressBook_contacts as t2 " +
              "     On t1.toContactID = t2.contactID " +
              "WHERE t1.statusID = 'queued'";
              ResultSet rs = stmt.executeQuery(qGetMessages);
              while (rs.next()) {
                   String messageUUID = rs.getString("messageUUID");
                   String subjectHeader = rs.getString("subjectHeader");
                   System.out.println(messageUUID + " " + subjectHeader);
                   String updateString = "UPDATE APP_Messages " +
                        "SET statusID = 'sent' " +
                        "WHERE messageUUID = '" + messageUUID + "' ";
                   stmt2.executeUpdate(updateString);
              con.close();
    Thanks for the help,
    Doug Hughes

    // sorry, ps.close() should be outside of if condition
    String sql = "UPDATE APP_Messages SET statusID = 'sent' WHERE messageUUID = ?";
    Statement statement = con.createStatement();
    PreparedStatement ps = con.prepareStatement(sql);
    ResultSet rs = statement.executeQuery("your select SQL");
    if ( rs.next() )
    ps.clearParameters();
    ps.setString(1, rs.getString("your column name"));
    ps.executeUpdate();
    ps.close();
    rs.close();
    statement.close();

  • Installation problem: Central Instance 6.40 Oracle on Linux 32

    Hi everybody, I ran into some basic problems with an installation on Redhat EL4 with SUN SDK 1.4.2_12
    here is where sapinst stops after selecting the java dvd:
    somehow the getting the right Java home seems to be the problem, although environment variables are set...
    SAPinst component stack:
    ========================
      Preinstall|ind|ind|ind|ind|ind|0
    Current script:
    ===============
    if (!context.getBool("ci") && !context.getBool("di") && !installer.onWindows()) {
      // we are running on Unix. We need JAVA_HOME for the user creation only.
      WebAS.restore(context.get("WebASDump"));
      var webas = new WebAS({sid:context.get("SID"), j2eeStandalone:context.getBool("standalone")});
      if (webas.getAccountData(WebAS.SIDAdm).exists) {
        return;
    if (context.get("JAVA_HOME") == "") {
      if (installer.onOS400()) {
        installer.getCD("J2EE");
        context.set( "JAVA_HOME", os400_getJavaHome() );
      } else {
        var versions = Java.readVersionFile(installer.getCD("J2EE"));
        context.set("JAVA_HOME", Java.getBestHome(versions.minVersion, versions.maxVersion));
    here the sapinst_dev.log:
    TRACE      [sapinst.cpp:285]
               CSapInst::initMessaging()
    Using custom value info for property SAPINST_MESSAGE_CONSOLE_THRESHOLD.
    TRACE[E]   [syxxcfsmgt.cpp:269]
               CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const
    Node product.catalog does not exist.
    TRACE      [iaxxccontrolfile.cpp:344]
               CControlFile::getMessageFilePath()
    Running with messages from /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST
    TRACE      [sapinst.cpp:306]
               CSapInst::initMessaging()
    This is SAPinst, version 642, build 703609
    compiled on Nov 21 2004, 20:12:45
    TRACE      [sapinst.cpp:311]
               CSapInst::initMessaging()
    Gui connected by user root from host localhost
    TRACE      [syuxcgroup.cpp:528]
               bool CSyUserImpl::isExistingOnOS()
    checking existence of account group="root" gid="0" succeeded with true.
    TRACE      [syxxccache.cpp:208]
               CSyAccountCache::getGroupImpl(name="", sid="0", create=false, ISyProgressObserver* )
    inserted account (root, 0, GROUP) into the accountcache.
    TRACE      [syxxsyshlp.cpp:133]
               syslib::logSystemState()
    Process environment
    ===================
    Environment Variables
    =====================
      SSH_AGENT_PID = 3137
      HOSTNAME = localhost
      TERM = xterm
      SHELL = /bin/bash
      DESKTOP_STARTUP_ID =
      HISTSIZE = 1000
      GTK_RC_FILES = /etc/gtk/gtkrc:/root/.gtkrc-1.2-gnome2
      WINDOWID = 35655351
      SAPINST_EXEDIR_CD = .
      QTDIR = /usr/lib/qt-3.3
      USER = root
      JRE_HOME = /usr/java/j2sdk1.4.2_12/jre
      LD_LIBRARY_PATH = /tmp/sapinst_exe.3669.1153729381
      LS_COLORS = no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
      SSH_AUTH_SOCK = /tmp/ssh-WtPWyH3136/agent.3136
      GNOME_KEYRING_SOCKET = /tmp/keyring-MMmk9C/socket
      KDEDIR = /usr
      SESSION_MANAGER = local/localhost:/tmp/.ICE-unix/3109
      PATH = /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/java/j2sdk1.4.2_12/bin:/root/bin
      DESKTOP_SESSION = default
      MAIL = /var/spool/mail/root
      JAVA_BINDIR = /usr/java/j2sdk1.4.2_12/bin
      PWD = /root/backupmnt/temp/SAPWAS640LinuxOracle/32bitInstall/DVD_NW_04_SR1_Installation_Master/IM09_LINUX_32/SAPINST/UNIX/LINUX_32
      INPUTRC = /etc/inputrc
      JAVA_HOME = /usr/java/j2sdk1.4.2_12
      LANG = en_US.UTF-8
      SAPINST_EXE_DIR = /tmp/sapinst_exe.3669.1153729381
      JAVA_VERSION = 1.4.2_12
      GDMSESSION = default
      SSH_ASKPASS = /usr/libexec/openssh/gnome-ssh-askpass
      SHLVL = 2
      HOME = /root
      JDK_HOME = /usr/java/j2sdk1.4.2_12
      GNOME_DESKTOP_SESSION_ID = Default
      LOGNAME = root
      DBUS_SESSION_BUS_ADDRESS = unix:abstract=/tmp/dbus-KeIbVNuZM7
      LESSOPEN = |/usr/bin/lesspipe.sh %s
      DISPLAY = :0.0
      G_BROKEN_FILENAMES = 1
      XAUTHORITY = /root/.Xauthority
      COLORTERM = gnome-terminal
    User: root, Id: 0
    Effective user: root, Id: 0
    Group: root, Id: 0
    Effective group: root, Id: 0
    Umask: 022
    Resource Limits
    ===============
    RLIMIT_CPU: maximum amount of CPU time in seconds current: unlimited maximum: unlimited
    RLIMIT_FSIZE: maximum size of  a  file  in  bytes  that  may  be created  by  a process current: unlimited maximum: unlimited
    RLIMIT_DATA: maximum size of a process's heap  in  bytes current: unlimited maximum: unlimited
    RLIMIT_STACK: maximum size of a process's stack  in  bytes current: 10485760 maximum: unlimited
    RLIMIT_CORE: maximum size of a core file in bytes current: unlimited maximum: unlimited
    RLIMIT_MEMLOCK: Locked-in-memory addess space. current: 32768 maximum: 32768
    RLIMIT_NOFILE: one more than the maximum value that  the  system  may assign  to a newly created descriptor current: 1024 maximum: 1024
    RLIMIT_OFILE: one more than the maximum value that  the  system  may assign  to a newly created descriptor current: 1024 maximum: 1024
    RLIMIT_NPROC: maximum number of child processes per real user ID current: 13184 maximum: 13184
    RLIMIT_RSS: maximum resident set size in bytes current: unlimited maximum: unlimited
    RLIMIT_AS: maximum size of a process's  total  available memory, in bytes current: unlimited maximum: unlimited
    Working directory: /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST
    TRACE      [syuxctask.cpp:1242]
               CSyTaskImpl::start(bool)
    A child process has been started. Pid = 3705
    TRACE      [syxxsyshlp.cpp:143]
               syslib::logSystemState()
    System information
    ==================
    uname: Linux localhost 2.6.9-11.EL #1 Fri May 20 18:17:57 EDT 2005 i686 i686 i386 GNU/Linux
    RAM size (MB): 813.152
    Swap size (MB): 258.852
    Kernel Parameters:
    ==================
    dev.cdrom.autoclose = 1
    dev.cdrom.autoeject = 0
    dev.cdrom.check_media = 0
    dev.cdrom.debug = 0
    dev.cdrom.info = CD-ROM information, Id: cdrom.c 3.20 2003/12/17
    dev.cdrom.lock = 1
    dev.parport.default.spintime = 500
    dev.parport.default.timeslice = 200
    dev.parport.parport0.autoprobe =
    dev.parport.parport0.autoprobe0 =
    dev.parport.parport0.autoprobe1 =
    dev.parport.parport0.autoprobe2 =
    dev.parport.parport0.autoprobe3 =
    dev.parport.parport0.base-addr = 888     1912
    dev.parport.parport0.devices.active = none
    dev.parport.parport0.devices.lp.timeslice = 200
    dev.parport.parport0.dma = -1
    dev.parport.parport0.irq = -1
    dev.parport.parport0.modes = PCSPP,TRISTATE
    dev.parport.parport0.spintime = 500
    dev.raid.speed_limit_max = 200000
    dev.raid.speed_limit_min = 1000
    dev.rtc.max-user-freq = 64
    dev.scsi.logging_level = 0
    fs.aio-max-nr = 65536
    fs.aio-nr = 0
    fs.binfmt_misc.register =
    fs.binfmt_misc.status = enabled
    fs.dentry-state = 22755     20214     45     0     0     0
    fs.dir-notify-enable = 1
    fs.file-max = 82562
    fs.file-nr = 2480     0     82562
    fs.inode-nr = 17270     1015
    fs.inode-state = 17270     1015     0     0     0     0     0
    fs.lease-break-time = 45
    fs.leases-enable = 1
    fs.mqueue.msg_max = 10
    fs.mqueue.msgsize_max = 8192
    fs.mqueue.queues_max = 256
    fs.overflowgid = 65534
    fs.overflowuid = 65534
    fs.quota.allocated_dquots = 0
    fs.quota.cache_hits = 0
    fs.quota.drops = 0
    fs.quota.free_dquots = 0
    fs.quota.lookups = 0
    fs.quota.reads = 0
    fs.quota.syncs = 20
    fs.quota.writes = 0
    kernel.acct = 4     2     30
    kernel.cad_pid = 1
    kernel.cap-bound = -257
    kernel.core_pattern = core
    kernel.core_uses_pid = 1
    kernel.ctrl-alt-del = 0
    kernel.domainname = (none)
    kernel.exec-shield = 1
    kernel.exec-shield-randomize = 1
    kernel.hostname = localhost
    kernel.hotplug = /sbin/hotplug
    kernel.modprobe = /sbin/modprobe
    kernel.msgmax = 8192
    kernel.msgmnb = 16384
    kernel.msgmni = 16
    kernel.ngroups_max = 65536
    kernel.osrelease = 2.6.9-11.EL
    kernel.ostype = Linux
    kernel.overflowgid = 65534
    kernel.overflowuid = 65534
    kernel.panic = 0
    kernel.panic_on_oops = 1
    kernel.pid_max = 32768
    kernel.print-fatal-signals = 0
    kernel.printk = 6     4     1     7
    kernel.printk_ratelimit = 5
    kernel.printk_ratelimit_burst = 10
    kernel.pty.max = 4096
    kernel.pty.nr = 3
    kernel.random.boot_id = 906671fa-2e46-4253-b860-368e36266a3a
    kernel.random.entropy_avail = 3968
    kernel.random.poolsize = 512
    kernel.random.read_wakeup_threshold = 64
    kernel.random.uuid = 32d988a2-1496-4f14-93ac-ff43f88ff37d
    kernel.random.write_wakeup_threshold = 128
    kernel.real-root-dev = 0
    kernel.sem = 250     32000     32     128
    kernel.shmall = 2097152
    kernel.shmmax = 33554432
    kernel.shmmni = 4096
    kernel.suid_dumpable = 0
    kernel.sysrq = 0
    kernel.tainted = 1
    kernel.threads-max = 26368
    kernel.vdso = 0
    kernel.version = #1 Fri May 20 18:17:57 EDT 2005
    net.core.dev_weight = 64
    net.core.divert_version = 0.46
    net.core.lo_cong = 100
    net.core.message_burst = 10
    net.core.message_cost = 5
    net.core.mod_cong = 290
    net.core.netdev_max_backlog = 300
    net.core.no_cong = 20
    net.core.no_cong_thresh = 10
    net.core.optmem_max = 10240
    net.core.rmem_default = 110592
    net.core.rmem_max = 131071
    net.core.somaxconn = 128
    net.core.wmem_default = 110592
    net.core.wmem_max = 131071
    net.ipv4.conf.all.accept_redirects = 1
    net.ipv4.conf.all.accept_source_route = 0
    net.ipv4.conf.all.arp_announce = 0
    net.ipv4.conf.all.arp_filter = 0
    net.ipv4.conf.all.arp_ignore = 0
    net.ipv4.conf.all.bootp_relay = 0
    net.ipv4.conf.all.disable_policy = 0
    net.ipv4.conf.all.disable_xfrm = 0
    net.ipv4.conf.all.force_igmp_version = 0
    net.ipv4.conf.all.forwarding = 0
    net.ipv4.conf.all.log_martians = 0
    net.ipv4.conf.all.mc_forwarding = 0
    net.ipv4.conf.all.medium_id = 0
    net.ipv4.conf.all.proxy_arp = 0
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.all.secure_redirects = 1
    net.ipv4.conf.all.send_redirects = 1
    net.ipv4.conf.all.shared_media = 1
    net.ipv4.conf.all.tag = 0
    net.ipv4.conf.default.accept_redirects = 1
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.conf.default.arp_announce = 0
    net.ipv4.conf.default.arp_filter = 0
    net.ipv4.conf.default.arp_ignore = 0
    net.ipv4.conf.default.bootp_relay = 0
    net.ipv4.conf.default.disable_policy = 0
    net.ipv4.conf.default.disable_xfrm = 0
    net.ipv4.conf.default.force_igmp_version = 0
    net.ipv4.conf.default.forwarding = 0
    net.ipv4.conf.default.log_martians = 0
    net.ipv4.conf.default.mc_forwarding = 0
    net.ipv4.conf.default.medium_id = 0
    net.ipv4.conf.default.proxy_arp = 0
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.default.secure_redirects = 1
    net.ipv4.conf.default.send_redirects = 1
    net.ipv4.conf.default.shared_media = 1
    net.ipv4.conf.default.tag = 0
    net.ipv4.conf.eth0.accept_redirects = 1
    net.ipv4.conf.eth0.accept_source_route = 0
    net.ipv4.conf.eth0.arp_announce = 0
    net.ipv4.conf.eth0.arp_filter = 0
    net.ipv4.conf.eth0.arp_ignore = 0
    net.ipv4.conf.eth0.bootp_relay = 0
    net.ipv4.conf.eth0.disable_policy = 0
    net.ipv4.conf.eth0.disable_xfrm = 0
    net.ipv4.conf.eth0.force_igmp_version = 0
    net.ipv4.conf.eth0.forwarding = 0
    net.ipv4.conf.eth0.log_martians = 0
    net.ipv4.conf.eth0.mc_forwarding = 0
    net.ipv4.conf.eth0.medium_id = 0
    net.ipv4.conf.eth0.proxy_arp = 0
    net.ipv4.conf.eth0.rp_filter = 1
    net.ipv4.conf.eth0.secure_redirects = 1
    net.ipv4.conf.eth0.send_redirects = 1
    net.ipv4.conf.eth0.shared_media = 1
    net.ipv4.conf.eth0.tag = 0
    net.ipv4.conf.lo.accept_redirects = 1
    net.ipv4.conf.lo.accept_source_route = 1
    net.ipv4.conf.lo.arp_announce = 0
    net.ipv4.conf.lo.arp_filter = 0
    net.ipv4.conf.lo.arp_ignore = 0
    net.ipv4.conf.lo.bootp_relay = 0
    net.ipv4.conf.lo.disable_policy = 1
    net.ipv4.conf.lo.disable_xfrm = 1
    net.ipv4.conf.lo.force_igmp_version = 0
    net.ipv4.conf.lo.forwarding = 0
    net.ipv4.conf.lo.log_martians = 0
    net.ipv4.conf.lo.mc_forwarding = 0
    net.ipv4.conf.lo.medium_id = 0
    net.ipv4.conf.lo.proxy_arp = 0
    net.ipv4.conf.lo.rp_filter = 0
    net.ipv4.conf.lo.secure_redirects = 1
    net.ipv4.conf.lo.send_redirects = 1
    net.ipv4.conf.lo.shared_media = 1
    net.ipv4.conf.lo.tag = 0
    net.ipv4.icmp_echo_ignore_all = 0
    net.ipv4.icmp_echo_ignore_broadcasts = 0
    net.ipv4.icmp_ignore_bogus_error_responses = 0
    net.ipv4.icmp_ratelimit = 1000
    net.ipv4.icmp_ratemask = 6168
    net.ipv4.igmp_max_memberships = 20
    net.ipv4.igmp_max_msf = 10
    net.ipv4.inet_peer_gc_maxtime = 120
    net.ipv4.inet_peer_gc_mintime = 10
    net.ipv4.inet_peer_maxttl = 600
    net.ipv4.inet_peer_minttl = 120
    net.ipv4.inet_peer_threshold = 65664
    net.ipv4.ip_autoconfig = 0
    net.ipv4.ip_default_ttl = 64
    net.ipv4.ip_dynaddr = 0
    net.ipv4.ip_forward = 0
    net.ipv4.ip_local_port_range = 32768     61000
    net.ipv4.ip_no_pmtu_disc = 0
    net.ipv4.ip_nonlocal_bind = 0
    net.ipv4.ipfrag_high_thresh = 262144
    net.ipv4.ipfrag_low_thresh = 196608
    net.ipv4.ipfrag_secret_interval = 600
    net.ipv4.ipfrag_time = 30
    net.ipv4.neigh.default.anycast_delay = 99
    net.ipv4.neigh.default.app_solicit = 0
    net.ipv4.neigh.default.base_reachable_time = 30
    net.ipv4.neigh.default.delay_first_probe_time = 5
    net.ipv4.neigh.default.gc_interval = 30
    net.ipv4.neigh.default.gc_stale_time = 60
    net.ipv4.neigh.default.gc_thresh1 = 128
    net.ipv4.neigh.default.gc_thresh2 = 512
    net.ipv4.neigh.default.gc_thresh3 = 1024
    net.ipv4.neigh.default.locktime = 99
    net.ipv4.neigh.default.mcast_solicit = 3
    net.ipv4.neigh.default.proxy_delay = 79
    net.ipv4.neigh.default.proxy_qlen = 64
    net.ipv4.neigh.default.retrans_time = 99
    net.ipv4.neigh.default.ucast_solicit = 3
    net.ipv4.neigh.default.unres_qlen = 3
    net.ipv4.neigh.eth0.anycast_delay = 99
    net.ipv4.neigh.eth0.app_solicit = 0
    net.ipv4.neigh.eth0.base_reachable_time = 30
    net.ipv4.neigh.eth0.delay_first_probe_time = 5
    net.ipv4.neigh.eth0.gc_stale_time = 60
    net.ipv4.neigh.eth0.locktime = 99
    net.ipv4.neigh.eth0.mcast_solicit = 3
    net.ipv4.neigh.eth0.proxy_delay = 79
    net.ipv4.neigh.eth0.proxy_qlen = 64
    net.ipv4.neigh.eth0.retrans_time = 99
    net.ipv4.neigh.eth0.ucast_solicit = 3
    net.ipv4.neigh.eth0.unres_qlen = 3
    net.ipv4.neigh.lo.anycast_delay = 99
    net.ipv4.neigh.lo.app_solicit = 0
    net.ipv4.neigh.lo.base_reachable_time = 30
    net.ipv4.neigh.lo.delay_first_probe_time = 5
    net.ipv4.neigh.lo.gc_stale_time = 60
    net.ipv4.neigh.lo.locktime = 99
    net.ipv4.neigh.lo.mcast_solicit = 3
    net.ipv4.neigh.lo.proxy_delay = 79
    net.ipv4.neigh.lo.proxy_qlen = 64
    net.ipv4.neigh.lo.retrans_time = 99
    net.ipv4.neigh.lo.ucast_solicit = 3
    net.ipv4.neigh.lo.unres_qlen = 3
    net.ipv4.route.error_burst = 5000
    net.ipv4.route.error_cost = 1000
    net.ipv4.route.flush =
    net.ipv4.route.gc_elasticity = 8
    net.ipv4.route.gc_interval = 60
    net.ipv4.route.gc_min_interval = 0
    net.ipv4.route.gc_thresh = 2048
    net.ipv4.route.gc_timeout = 300
    net.ipv4.route.max_delay = 10
    net.ipv4.route.max_size = 32768
    net.ipv4.route.min_adv_mss = 256
    net.ipv4.route.min_delay = 2
    net.ipv4.route.min_pmtu = 552
    net.ipv4.route.mtu_expires = 600
    net.ipv4.route.redirect_load = 20
    net.ipv4.route.redirect_number = 9
    net.ipv4.route.redirect_silence = 20480
    net.ipv4.route.secret_interval = 600
    net.ipv4.tcp_abort_on_overflow = 0
    net.ipv4.tcp_adv_win_scale = 2
    net.ipv4.tcp_app_win = 31
    net.ipv4.tcp_bic = 1
    net.ipv4.tcp_bic_beta = 819
    net.ipv4.tcp_bic_fast_convergence = 1
    net.ipv4.tcp_bic_low_window = 14
    net.ipv4.tcp_dsack = 1
    net.ipv4.tcp_ecn = 0
    net.ipv4.tcp_fack = 1
    net.ipv4.tcp_fin_timeout = 60
    net.ipv4.tcp_frto = 0
    net.ipv4.tcp_keepalive_intvl = 75
    net.ipv4.tcp_keepalive_probes = 9
    net.ipv4.tcp_keepalive_time = 7200
    net.ipv4.tcp_low_latency = 0
    net.ipv4.tcp_max_orphans = 65536
    net.ipv4.tcp_max_syn_backlog = 1024
    net.ipv4.tcp_max_tw_buckets = 180000
    net.ipv4.tcp_mem = 196608     262144     393216
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_no_metrics_save = 0
    net.ipv4.tcp_orphan_retries = 0
    net.ipv4.tcp_reordering = 3
    net.ipv4.tcp_retrans_collapse = 1
    net.ipv4.tcp_retries1 = 3
    net.ipv4.tcp_retries2 = 15
    net.ipv4.tcp_rfc1337 = 0
    net.ipv4.tcp_rmem = 4096     87380     174760
    net.ipv4.tcp_sack = 1
    net.ipv4.tcp_stdurg = 0
    net.ipv4.tcp_syn_retries = 5
    net.ipv4.tcp_synack_retries = 5
    net.ipv4.tcp_syncookies = 0
    net.ipv4.tcp_timestamps = 1
    net.ipv4.tcp_tso_win_divisor = 8
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 0
    net.ipv4.tcp_vegas_alpha = 2
    net.ipv4.tcp_vegas_beta = 6
    net.ipv4.tcp_vegas_cong_avoid = 0
    net.ipv4.tcp_vegas_gamma = 2
    net.ipv4.tcp_westwood = 0
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_wmem = 4096     16384     131072
    net.ipv6.bindv6only = 0
    net.ipv6.conf.all.accept_ra = 1
    net.ipv6.conf.all.accept_redirects = 1
    net.ipv6.conf.all.autoconf = 1
    net.ipv6.conf.all.dad_transmits = 1
    net.ipv6.conf.all.force_mld_version = 0
    net.ipv6.conf.all.forwarding = 0
    net.ipv6.conf.all.hop_limit = 64
    net.ipv6.conf.all.max_addresses = 16
    net.ipv6.conf.all.max_desync_factor = 600
    net.ipv6.conf.all.mtu = 1280
    net.ipv6.conf.all.regen_max_retry = 5
    net.ipv6.conf.all.router_solicitation_delay = 1
    net.ipv6.conf.all.router_solicitation_interval = 4
    net.ipv6.conf.all.router_solicitations = 3
    net.ipv6.conf.all.temp_prefered_lft = 86400
    net.ipv6.conf.all.temp_valid_lft = 604800
    net.ipv6.conf.all.use_tempaddr = 0
    net.ipv6.conf.default.accept_ra = 1
    net.ipv6.conf.default.accept_redirects = 1
    net.ipv6.conf.default.autoconf = 1
    net.ipv6.conf.default.dad_transmits = 1
    net.ipv6.conf.default.force_mld_version = 0
    net.ipv6.conf.default.forwarding = 0
    net.ipv6.conf.default.hop_limit = 64
    net.ipv6.conf.default.max_addresses = 16
    net.ipv6.conf.default.max_desync_factor = 600
    net.ipv6.conf.default.mtu = 1280
    net.ipv6.conf.default.regen_max_retry = 5
    net.ipv6.conf.default.router_solicitation_delay = 1
    net.ipv6.conf.default.router_solicitation_interval = 4
    net.ipv6.conf.default.router_solicitations = 3
    net.ipv6.conf.default.temp_prefered_lft = 86400
    net.ipv6.conf.default.temp_valid_lft = 604800
    net.ipv6.conf.default.use_tempaddr = 0
    net.ipv6.conf.eth0.accept_ra = 1
    net.ipv6.conf.eth0.accept_redirects = 1
    net.ipv6.conf.eth0.autoconf = 1
    net.ipv6.conf.eth0.dad_transmits = 1
    net.ipv6.conf.eth0.force_mld_version = 0
    net.ipv6.conf.eth0.forwarding = 0
    net.ipv6.conf.eth0.hop_limit = 64
    net.ipv6.conf.eth0.max_addresses = 16
    net.ipv6.conf.eth0.max_desync_factor = 600
    net.ipv6.conf.eth0.mtu = 1500
    net.ipv6.conf.eth0.regen_max_retry = 5
    net.ipv6.conf.eth0.router_solicitation_delay = 1
    net.ipv6.conf.eth0.router_solicitation_interval = 4
    net.ipv6.conf.eth0.router_solicitations = 3
    net.ipv6.conf.eth0.temp_prefered_lft = 86400
    net.ipv6.conf.eth0.temp_valid_lft = 604800
    net.ipv6.conf.eth0.use_tempaddr = 0
    net.ipv6.conf.lo.accept_ra = 1
    net.ipv6.conf.lo.accept_redirects = 1
    net.ipv6.conf.lo.autoconf = 1
    net.ipv6.conf.lo.dad_transmits = 1
    net.ipv6.conf.lo.force_mld_version = 0
    net.ipv6.conf.lo.forwarding = 0
    net.ipv6.conf.lo.hop_limit = 64
    net.ipv6.conf.lo.max_addresses = 16
    net.ipv6.conf.lo.max_desync_factor = 600
    net.ipv6.conf.lo.mtu = 16436
    net.ipv6.conf.lo.regen_max_retry = 5
    net.ipv6.conf.lo.router_solicitation_delay = 1
    net.ipv6.conf.lo.router_solicitation_interval = 4
    net.ipv6.conf.lo.router_solicitations = 3
    net.ipv6.conf.lo.temp_prefered_lft = 86400
    net.ipv6.conf.lo.temp_valid_lft = 604800
    net.ipv6.conf.lo.use_tempaddr = -1
    net.ipv6.icmp.ratelimit = 1000
    net.ipv6.ip6frag_high_thresh = 262144
    net.ipv6.ip6frag_low_thresh = 196608
    net.ipv6.ip6frag_secret_interval = 600
    net.ipv6.ip6frag_time = 60
    net.ipv6.mld_max_msf = 10
    net.ipv6.neigh.default.anycast_delay = 99
    net.ipv6.neigh.default.app_solicit = 0
    net.ipv6.neigh.default.base_reachable_time = 30
    net.ipv6.neigh.default.delay_first_probe_time = 5
    net.ipv6.neigh.default.gc_interval = 30
    net.ipv6.neigh.default.gc_stale_time = 60
    net.ipv6.neigh.default.gc_thresh1 = 128
    net.ipv6.neigh.default.gc_thresh2 = 512
    net.ipv6.neigh.default.gc_thresh3 = 1024
    net.ipv6.neigh.default.locktime = 0
    net.ipv6.neigh.default.mcast_solicit = 3
    net.ipv6.neigh.default.proxy_delay = 79
    net.ipv6.neigh.default.proxy_qlen = 64
    net.ipv6.neigh.default.retrans_time = 1000
    net.ipv6.neigh.default.ucast_solicit = 3
    net.ipv6.neigh.default.unres_qlen = 3
    net.ipv6.neigh.eth0.anycast_delay = 99
    net.ipv6.neigh.eth0.app_solicit = 0
    net.ipv6.neigh.eth0.base_reachable_time = 30
    net.ipv6.neigh.eth0.delay_first_probe_time = 5
    net.ipv6.neigh.eth0.gc_stale_time = 60
    net.ipv6.neigh.eth0.locktime = 0
    net.ipv6.neigh.eth0.mcast_solicit = 3
    net.ipv6.neigh.eth0.proxy_delay = 79
    net.ipv6.neigh.eth0.proxy_qlen = 64
    net.ipv6.neigh.eth0.retrans_time = 1000
    net.ipv6.neigh.eth0.ucast_solicit = 3
    net.ipv6.neigh.eth0.unres_qlen = 3
    net.ipv6.neigh.lo.anycast_delay = 99
    net.ipv6.neigh.lo.app_solicit = 0
    net.ipv6.neigh.lo.base_reachable_time = 30
    net.ipv6.neigh.lo.delay_first_probe_time = 5
    net.ipv6.neigh.lo.gc_stale_time = 60
    net.ipv6.neigh.lo.locktime = 0
    net.ipv6.neigh.lo.mcast_solicit = 3
    net.ipv6.neigh.lo.proxy_delay = 79
    net.ipv6.neigh.lo.proxy_qlen = 64
    net.ipv6.neigh.lo.retrans_time = 1000
    net.ipv6.neigh.lo.ucast_solicit = 3
    net.ipv6.neigh.lo.unres_qlen = 3
    net.ipv6.route.flush =
    net.ipv6.route.gc_elasticity = 0
    net.ipv6.route.gc_interval = 30
    net.ipv6.route.gc_min_interval = 0
    net.ipv6.route.gc_thresh = 1024
    net.ipv6.route.gc_timeout = 60
    net.ipv6.route.max_size = 4096
    net.ipv6.route.min_adv_mss = 1
    net.ipv6.route.mtu_expires = 600
    net.token-ring.rif_timeout = 600000
    net.unix.max_dgram_qlen = 10
    sunrpc.nfs_debug = 0
    sunrpc.nfsd_debug = 0
    sunrpc.nlm_debug = 0
    sunrpc.rpc_debug = 0
    sunrpc.tcp_slot_table_entries = 16
    sunrpc.udp_slot_table_entries = 16
    vm.block_dump = 0
    vm.dirty_background_ratio = 10
    vm.dirty_expire_centisecs = 3000
    vm.dirty_ratio = 40
    vm.dirty_writeback_centisecs = 500
    vm.hugetlb_shm_group = 0
    vm.laptop_mode = 0
    vm.legacy_va_layout = 0
    vm.lower_zone_protection = 0
    vm.max_map_count = 65536
    vm.min_free_kbytes = 918
    vm.nr_hugepages = 0
    vm.nr_pdflush_threads = 2
    vm.overcommit_memory = 0
    vm.overcommit_ratio = 50
    vm.page-cluster = 3
    vm.swappiness = 60
    vm.vfs_cache_pressure = 100
    TRACE     
    Running with control file control.xml version 642 and changelist 703273
    TRACE[E]   [syxxcfsmgt.cpp:269]
               CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const
    Node product.catalog does not exist.
    TRACE      [iaxxccontrolfile.cpp:142]
               CControlFile::getKeydbControlFileName()
    Running with keydb file keydb.xml
    TRACE[E]   [syxxcfsmgt.cpp:269]
               CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const
    Node product.catalog does not exist.
    TRACE      [iaxxccontrolfile.cpp:235]
               CControlFile::getDialogControlFileName()
    Running with dialog control file dialog.xml
    TRACE      [iaxxccontrolfile.cpp:184]
               CControlFile::getResourecFileName()
    Running with resource file /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/helppool.xml
    INFO       2006-07-24 10:23:29 [syxxcfile.cpp:446]
               CSyFileImpl::copy(const CSyPath & q0w9e9r8t7.1.xml, ISyNode::eCopyMode 3, ISyProgressObserver*) const 
    Copying file /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/keydb.xml to: q0w9e9r8t7.1.xml.
    INFO       2006-07-24 10:23:29 [syuxcpath.cpp:369]
               CSyPath::createFile()
    Creating file /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/q0w9e9r8t7.1.xml.
    INFO       2006-07-24 10:23:30 [iaxxclib.cpp:83]
               load()
    Working directory changed to /tmp/sapinst_exe.3669.1153729381.
    TRACE      [iaxxclib.cpp:165]
               load()
    Opened iaccdlib.so
    INFO       2006-07-24 10:23:30 [iaxxclib.cpp:108]
               load()
    Working directory changed to /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|checkRuntimeSystem
    INFO       2006-07-24 10:23:30 [iaxxclib.cpp:83]
               load()
    Working directory changed to /tmp/sapinst_exe.3669.1153729381.
    TRACE      [iaxxclib.cpp:165]
               load()
    Opened iamodos.so
    INFO       2006-07-24 10:23:30 [iaxxclib.cpp:108]
               load()
    Working directory changed to /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST.
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step checkRuntimeSystem with key Preinstall|ind|ind|ind|ind|ind|0|checkRuntimeSystem has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|SetDefaults
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step SetDefaults with key Preinstall|ind|ind|ind|ind|ind|0|SetDefaults has been executed successfully.
    INFO       2006-07-24 10:23:31 [syxxcfile.cpp:446]
               CSyFileImpl::copy(const CSyPath & /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/keydb.1.xml, ISyNode::eCopyMode 3, ISyProgressObserver*) const 
    Copying file /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/keydb.xml to: /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/keydb.1.xml.
    INFO       2006-07-24 10:23:31 [syuxcpath.cpp:369]
               CSyPath::createFile()
    Creating file /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/keydb.1.xml.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|diSummarize
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step diSummarize with key Preinstall|ind|ind|ind|ind|ind|0|diSummarize has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|diProgress
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step diProgress with key Preinstall|ind|ind|ind|ind|ind|0|diProgress has been executed successfully.
    INFO       2006-07-24 10:23:32 [syuxcpath.cpp:369]
               CSyPath::createFile()
    Creating file /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/summary.html.
    PHASE      2006-07-24 10:23:32 [iaxxcwalker.cpp:416]
               CDomWalker::printPhaseInfo()
    Prepare the installation program.
    INFO       2006-07-24 10:23:48 [iaxxcwalker.cpp:59]
               CDomWalker::walk()
    Installation start: Monday, 24 July 2006, 10:23:26; installation directory: /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST; product to be installed: SAP NetWeaver '04 Support Release 1> Java System> Oracle> Central System> Custom Installation - Java System
    TRACE<i>   [iaxxclib.cpp:83]
               load()
    Working directory changed to /tmp/sapinst_exe.3669.1153729381.
    TRACE      [iaxxclib.cpp:165]
               load()
    Opened iamodora.so
    TRACE<i>   [iaxxclib.cpp:108]
               load()
    Working directory changed to /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST.
    TRACE      [iaxxccntrl.cpp:398]
               CController::activateEvaluator()
    The controller registered the module COraInputChecker
    TRACE<i>   [iaxxclib.cpp:83]
               load()
    Working directory changed to /tmp/sapinst_exe.3669.1153729381.
    TRACE      [iaxxclib.cpp:165]
               load()
    Opened iamodada.so
    TRACE<i>   [iaxxclib.cpp:108]
               load()
    Working directory changed to /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST.
    TRACE      [iaxxccntrl.cpp:398]
               CController::activateEvaluator()
    The controller registered the module CIaSdbActor
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|fillContext
    INFO       2006-07-24 10:23:48 [iaxxclib.cpp:83]
               load()
    Working directory changed to /tmp/sapinst_exe.3669.1153729381.
    TRACE      [iaxxclib.cpp:165]
               load()
    Opened iajsmod.so
    INFO       2006-07-24 10:23:48 [iaxxclib.cpp:108]
               load()
    Working directory changed to /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST.
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    t_J2EE_Dialogs.remove(WHERE 1=1)
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    t_J2EE_Dialogs.insertRow({
      di:false
      oneHost:true
    }), inserting
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step fillContext with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|fillContext has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|readProductXml
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    Reading additional shipment information from product.xml...
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    tProductInfo.updateRow({
      Name:WebAs
      Version:640
    }, WHERE ROWNUM=0), updating
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    IA_CONTR_DBPLATFORM.updateRow({
      DBPLATFORM:ORA
    }, WHERE ROWNUM=0), updating
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    Table: tWhat
      Name:What
      Value:INST
      Name:InstanceType
      Value:DI
      Name:DbType
      Value:NEWDB
      Name:DataType
      Value:SAP
      Name:MigType
      Value:STD
      Name:INQMY
      Value:NO
      Name:IsCluster
      Value:NO
      Name:IsClusterA
      Value:NO
      Name:IsClusterB
      Value:NO
      Name:UNICODE
      Value:YES
      Name:Db6Engine
      Value:EE
      Name:IGS
      Value:YES
      Name:CCM4X
      Value:NO
      Name:HETFS
      Value:false
      Name:LCCLIENT
      Value:false
      Name:J2EE630
      Value:false
      Name:DB2Connectivity
      Value:DRDA
      Name:SDM_JDBCDRIVER_DB4
      Value:engine
      Name:LCUSERDATAADMIN
      Value:false
      Name:SeparateSCS
      Value:false
      Name:EEENodeNumber
      Value:EEENode0
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step readProductXml with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|readProductXml has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|setDefaults
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    t_systems.remove(WHERE 1=1)
    INFO       2006-07-24 10:23:49
               CJSlibModule::writeInfo_impl()
    Looking for SAP system instances installed on this host...
    INFO       2006-07-24 10:23:49
               CJSlibModule::writeInfo_impl()
    No installed instances found!
    TRACE      [syxxcnamrs.cpp:278]
               PSyHostsEntry CSyIPNameResolverImpl::getHostByName(const iastring& hostName) const
    IP name localhost resolves to IP address(es): 127.0.0.1
    TRACE      [syxxcnamrs.cpp:208]
               PSyHostsEntry CSyIPNameResolverImpl::getHostByAddress(const iastring& ipAddress) const
    IP address 127.0.0.1 resolves to IP name(s): localhost
    TRACE      [iaxxbhosts.cpp:674]
               CIaOsHosts::resolveHostName()
    hostname after reverse lookup is: localhost
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    shells.updateRow({
      shell:/bin/bash
    }, WHERE shell='/bin/bash'), inserting
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step setDefaults with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|setDefaults has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|DNSCheck
    INFO       2006-07-24 10:23:50
               CJSlibModule::writeInfo_impl()
    DNS is configured correctly.
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step DNSCheck with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|DNSCheck has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|MemoryCheck
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step MemoryCheck with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|MemoryCheck has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|virtualHostCheck
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step virtualHostCheck with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|virtualHostCheck has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askWhat
    INFO       2006-07-24 10:23:51 [iaxxclib.cpp:83]
               load()
    Working directory changed to /tmp/sapinst_exe.3669.1153729381.
    TRACE      [iaxxclib.cpp:165]
               load()
    Opened iamodutl.so
    INFO       2006-07-24 10:23:51 [iaxxclib.cpp:108]
               load()
    Working directory changed to /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST.
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step askWhat with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askWhat has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askPrep
    TRACE      [iaxxgenimp.cpp:189]
               showDialog()
    showing dlg d_webas630_prepare_ci_unix
    TRACE      [iaxxgenimp.cpp:205]
               showDialog()
    <dialog sid="d_webas630_prepare_ci_unix">
    <dialog/>
    TRACE      [iaxxgenimp.cpp:845]
               showDialog()
    waiting for an answer from gui
    TRACE      [iaxxdlghnd.cpp:98]
               CDialogHandler::doHandleDoc()
    CDialogHandler: ACTION_NEXT requested
    TRACE      [iaxxejsexp.cpp:208]
               EJS_Installer::writeTraceToLogBook()
    profile directory '/sapmnt/J2E/profile' does not exist. Returning undefined.
    TRACE      [iaxxgenimp.cpp:212]
               showDialog()
    <dialog sid="d_webas630_prepare_ci_unix">
    <dialog/>
    TRACE      [iaxxccntrl.cpp:493]
               CController::stepExecuted()
    The step askPrep with key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askPrep has been executed successfully.
    TRACE      [iaxxcdgprc.cpp:635]
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|getJavaHome
    TRACE      [iaxxgenimp.cpp:189]
               showDialog()
    showing dlg diCdServerMissingPackageWithCdName
    TRACE      [iaxxgenimp.cpp:205]
               showDialog()
    <dialog sid="diCdServerMissingPackageWithCdName">
    <dialog/>
    TRACE      [iaxxgenimp.cpp:845]
               showDialog()
    waiting for an answer from gui
    TRACE      [iaxxdlghnd.cpp:98]
               CDialogHandler::doHandleDoc()
    CDialogHandler: ACTION_NEXT requested
    TRACE      [iaxxgenimp.cpp:212]
               showDialog()
    <dialog sid="diCdServerMissingPackageWithCdName">
    <dialog/>
    INFO       2006-07-24 10:24:17 [syxxcfile.cpp:446]
               CSyFileImpl::copy(const CSyPath & ., ISyNode::eCopyMode 3, ISyProgressObserver*) const 
    Copying file /root/backupmnt/temp/51030724_2/DVD_NW_04_SR1_SAP_Web_AS_JAVA/J2EE_OSINDEP/JDKVersion.xml to: ..
    INFO       2006-07-24 10:24:17 [syuxcpath.cpp:369]
               CSyPath::createFile()
    Creating file /tmp/sapinst_instdir/NW04SR1/WEBAS_JAVA/CENTRAL/ONE_HOST/JDKVersion.xml.
    TRACE      [syuxctask.cpp:1242]
               CSyTaskImpl::start(bool)
    A child process has been started. Pid = 3706
    ERROR      2006-07-24 10:24:17 [iaxxbprocess.cpp:927]
               CIaOsProcess::getReturnCode_impl()
    FSL-04005  Unable to wait for process with ID 3706. No child processes
    ERROR      2006-07-24 10:24:17 [iaxxbprocess.cpp:948]
               CIaOsProcess::getReturnCode_impl()
    FSL-04006  A system call failed due to unknown reasons: A process could not be waited for. No child processes.
    TRACE      [iaxxejsbas.hpp:270]
               EJS_Base::dispatchFunctionCall()
    JS Callback has thrown std::ESyException: A process could not be waited for. No child processes
    WARNING    2006-07-24 10:24:17 [iaxxccntrl.cpp:477]
               CController::stepExecuted()
    The step getJavaHome with step key J2EE_EngineEnterprise_OneHost|ind|ind|ind|WebAS|630|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|getJavaHome was executed with status ERROR.
    TRACE      [iaxxcsihlp.hpp:301]
               main()
    An error occurred during the installation of component SAP NetWeaver '04 Support Release 1> Java System> Oracle> Central System> Custom Installation - Java System. Press the log view button to get extended error information or press OK to terminate the installation. Log files are written to SAP NetWeaver '04 Support Release 1> Java System> Oracle> Central System> Custom Installation - Java System.
    TRACE      [iaxxgenimp.cpp:845]
               showDialog()
    waiting for an answer from gui
    TRACE      [iaxxdlghnd.cpp:180]
               CDialogHandler::doHandleDoc()
    ACTION_OK received
    WARNING    2006-07-24 10:24:41 [iaxxcsihlp.hpp:250]
               main()
    An error occurred during the installation.
    Has anybody an idea whats wrong here?
    thanx

    Thanx Jeff!
    and sorry for replying so late
    like with many other things, reading notes carefully can help a lot
    problem was solved by setting
    LD_ASSUME_KERNEL=2.4.1
    for sapinst as described in sap note 722273

  • Question about updateRow in ResultSet

    Simple problem. When I update the values in a resultset with:
    rs.updateString("columnName", aString);
    rs.updateRow();the value of columnName is updated, but the values of all the other columns in the row are set to nothing. How do I prevent this from happening? Do I have to update all the column values when using updateRow, i.e getting the values from the resultset and then updating with the same values?
    - Karl XII

    Hi Karl,
    You could try using the following code:
    int numRows = 0;
    int empId = 1223;
    String updateEmp="update employees set department=?
    where id = ?";
    PreparedStatement pstmt =
    conn.prepareStatement(updateEmp);
    pstmt.setString(1,"department");
    pstmt.setInt(2,empId);
    numRows = pstmt.executeUpdate();
    pstmt.close();
    This piece of code would only update the columns that
    you mention in the PreparedStatement SQL query.
    Thanks,
    Rashmi.Thanx. But I have a resultSet that is linked to the database. I to only like to edit the value of a specific column in the resultset... any other suggestions?

  • Oracle 9i Update problem

    Hi, i�ve the following problem using an oracle 9i database
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.OutputStream;
    import java.io.IOException;
    import java.sql.*;
    public class prueba
    public static void main (String[] args)
    File far = new File("C:\\EyeCandyLog.txt");
    try{
    FileInputStream fis = new FileInputStream(far);
    java.lang.Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@10.239.208.126:1521:TWEDES","twecms","ABDGC");
    con.setReadOnly(false);
    Statement stmnt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    if(stmnt.execute("SELECT * FROM PRUEBA WHERE id= 1"))
    ResultSet rset = stmnt.getResultSet();
    set.first();
    rset.updateBinaryStream("MIBLOB",fis,Integer.parseInt(""+far.length()));
    rset.updateRow();
    rset.close();
    stmnt.close();
    con.close();
    fis.close();
    catch(Exception e)
    System.out.println("Error\n"+e.toString());
    I get the next:
    Error
    java.sql.SQLException: Operaci�n no v�lida para el juego de resultados de s�lo lectura: updateBinaryStream
    it�s like "Not valid operation for Read only ResultSet: updateBinaryStream"
    I really need your help, thanks

    I�ve yet corected these problems, but i get another one: without exceptions, there no change in my Blob, here�s the function used:
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.IOException;
    import java.sql.*;
    public class prueba
    private static boolean set = false;
         public static void main (String[] args)
    if (set)
                   File far = new File("C:\\EyeCandyLog.txt");
    try{
                   FileInputStream fis = new FileInputStream(far);
    java.lang.Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@10.239.208.126:1521:TWEDES","twecms","ABDGC");
    con.setAutoCommit(false);
    con.setReadOnly(false);
    Statement stmnt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    if(stmnt.execute("SELECT ID,NOMBRE,MIBLOB FROM PRUEBA WHERE ID=1 FOR UPDATE"))
    ResultSet rset = stmnt.getResultSet();
    rset.first();
    rset.updateString(2,"EyeCandyLog.txt");
    rset.updateBinaryStream(3,fis,Integer.parseInt(""+far.length()));
    rset.updateRow();
    con.commit();
    con.close();
    fis.close();
    catch(Exception e)
    System.out.println("Error\n" + e.toString());
    else
    try{
    java.lang.Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@10.239.208.126:1521:TWEDES","twecms","ABDGC");
    Statement stmnt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    if(stmnt.execute("SELECT ID,NOMBRE,MIBLOB FROM PRUEBA WHERE ID=1"))
    ResultSet rset = stmnt.getResultSet();
    System.out.println("3\n");
    rset.first();
    System.out.println("2\n");
    InputStream is = rset.getBinaryStream(3);
    System.out.println("1\n");
    Blob bl = rset.getBlob(3);
    System.out.println("0\n"+bl);
    byte[] buffer = new byte[Integer.parseInt(""+bl.length())];
    is.read(buffer);
    System.out.println(new String(buffer));
    is.close();
    con.close();
    catch(Exception e)
    System.out.println("Error\n" + e.toString());
    }

  • JDBC TableModel problem with setValueAt

    Hello to everyone. I have problem when I change value at cell in Table. My model makes update in DB, but in GUI the change is not visible. The change gets visible only when I reopen the Table.
    public class CustomTableModel extends AbstractTableModel implements Serializable
        int                  dateTime = Types.DATE;
        Connection                con = null;
        ResultSet                  rs = null;
        ResultSetMetaData  rsMetaData = null;
        int                numColumns;
        String[]          columnNames = null;
        boolean           isUpdatable;
        Vector                   rows = new Vector();
        public CustomTableModel(Connection connect, ResultSet rset, String[] strl )
         try
             con = connect;
          String[] sNames = strl;
             rs = rset;
             rsMetaData = rs.getMetaData();
             numColumns = rsMetaData.getColumnCount();
             columnNames = new String[numColumns];
          int rowIndex;
          int columnIndex;
           if (rs.getConcurrency() == ResultSet.CONCUR_UPDATABLE)
              isUpdatable = true;
             else
              isUpdatable = false;
             for (int i = 0; i < numColumns; i++)
        if (sNames==null){
              columnNames[i] = rsMetaData.getColumnLabel(i+1);
        else
          columnNames = sNames;
             while(rs.next())
              Vector tempRow = new Vector(numColumns);
              for (int i = 0; i < numColumns; i++)
                  switch(rsMetaData.getColumnType(i+1))
                  .............. TYPES....
             } // end for loop
              rows.add(tempRow);
             } // end while loop
         }My method setValueAt
    public void setValueAt(Object aValue, int rowIndex, int columnIndex)
         try
            Object oldValue = getValueAt(rowIndex,columnIndex);
             if (oldValue == null && aValue == null)
              return;
             // can use equals() only if oldValue is not null
             if (oldValue != null)
              if (oldValue.equals(aValue))
                  return;
             // JTable is 0 based while ResultSet is 1 based
             rs.absolute(rowIndex+1);
             updateResultSet(rs, aValue, rowIndex, columnIndex);
             rs.updateRow();
             con.commit();
             Vector aRow = (Vector)rows.elementAt(rowIndex);
                aRow.setElementAt(aValue, columnIndex);
           fireTableCellUpdated(rowIndex, columnIndex);
         catch (SQLException ex)
             ExceptionEvent event = new ExceptionEvent(this, ex.getMessage());
             fireExceptionGenerated(event);
             try
              con.rollback();
             catch (SQLException ex2)
              event = new ExceptionEvent(this, ex2.getMessage());
              fireExceptionGenerated(event);
         catch (Exception ex)
             ExceptionEvent event = new ExceptionEvent(this, ex.getMessage());
             fireExceptionGenerated(event);
        }Thanks in advance.

    import java.io.*;
    import java.sql.*;
    import java.text.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    public class TableModelDemo extends javax.swing.JFrame {
        public TableModelDemo() {
            initComponents();
            connectDatabase();
            CustomTableModel model = new CustomTableModel();
            model.init(conn,rs,null);
            jTable1.setModel(model);
        private void connectDatabase(){
            try{
                DriverManager.registerDriver(new com.sybase.jdbc2.jdbc.SybDriver());
            }catch (Exception ex){
                ex.printStackTrace();
            conn=null;
            try{
                conn = DriverManager.getConnection("jdbc:sybase:Tds:prdfs4:2638","dba","sql");
            }catch (Exception ex){
                System.out.println("Connection refused");
            try {
                if(conn!=null){
                    Statement stmt = conn.createStatement();
                    String query ="SELECT ANA_LED_BASE_FORGN_CURY, ANA_AXIS_CODE, ANA_ACC_NUM, ANA_LED_TXT FROM ana_ledger " +
                            "where CMPY_CODE='06-LV   ' and JRNL_CODE='SFA  ' and ANA_LED_DOC_NUM=0008170";
                    rs = stmt.executeQuery(query);
            } catch (SQLException sqe) {
                String message = sqe.getMessage();
                JOptionPane.showMessageDialog( null, message );
        private void initComponents() {
            jScrollPane1 = new javax.swing.JScrollPane();
            jTable1 = new javax.swing.JTable();
            jToolBar1 = new javax.swing.JToolBar();
            jButton1 = new javax.swing.JButton();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("change value at cell in Table");
            jScrollPane1.setViewportView(jTable1);
            getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
            jToolBar1.setFloatable(false);
            jButton1.setText("change value at cell in Table");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            jToolBar1.add(jButton1);
            getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
            java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            setBounds((screenSize.width-790)/2, (screenSize.height-327)/2, 790, 327);
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            String val = JOptionPane.showInputDialog("change value at cell in Table","TEST,1,1");
            String val2[] = val.split(",");
            jTable1.setValueAt( val2[0],Integer.parseInt(val2[1]),Integer.parseInt(val2[2]) );
        public static void main(String args[]) {
                    new TableModelDemo().setVisible(true);
        private javax.swing.JButton jButton1;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JTable jTable1;
        private javax.swing.JToolBar jToolBar1;
        private ResultSet rs ;
        private Connection conn;
    class CustomTableModel extends DefaultTableModel implements Serializable {
        int                  dateTime = Types.DATE;
        Connection                con = null;
        ResultSet                  rs = null;
        ResultSetMetaData  rsMetaData = null;
        int                numColumns;
        String[]          columnNames = null;
        boolean           isUpdatable;
        Vector                   rows = new Vector();
        public void init(Connection connectToDatabase, ResultSet rset, String[] strl ) {
            try {
                con = connectToDatabase;
                String[] sNames = strl;
                rs = rset;
                rsMetaData = rs.getMetaData();
                numColumns = rsMetaData.getColumnCount();
                columnNames = new String[numColumns];
                int rowIndex=0;
                int columnIndex;
                if (rs.getConcurrency() == ResultSet.CONCUR_UPDATABLE) {
                    isUpdatable = true;
                } else {
                    isUpdatable = false;
                for (int i = 0; i < numColumns; i++) {
                    if (sNames==null){
                        columnNames[i] = rsMetaData.getColumnLabel(i+1);
                    } else {
                        columnNames = sNames;
                while(rs.next()) {
                    Object[] rowData = new Object[numColumns];
                    addRow( rowData );
                    Vector tempRow = new Vector(numColumns);
                    for (int i = 0; i < numColumns; i++) {
                        if( rowIndex==0 ){
                            addColumn( columnNames[i] );
                        setValueAt( rs.getString(i+1), rowIndex, i );
                        //                    switch(rsMetaData.getColumnType(i+1))
                        //                    .............. TYPES....
                    } // end for loop
                    rows.add(tempRow);
                    rowIndex++;
                } // end while loop
            }catch(Exception ex){
                ex.printStackTrace();
        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
            super.setValueAt( aValue, rowIndex, columnIndex );
            try {
                Object oldValue = getValueAt(rowIndex,columnIndex);
                if (oldValue == null && aValue == null) {
                    return;
                // can use equals() only if oldValue is not null
                if (oldValue != null) {
                    if (oldValue.equals(aValue)) {
                        return;
                // JTable is 0 based while ResultSet is 1 based
                //            rs.absolute(rowIndex+1);
                //            updateResultSet(rs, aValue, rowIndex, columnIndex);
                //            rs.updateRow();
                //            con.commit();
                //        Vector aRow = (Vector)rows.elementAt(rowIndex);
                //        aRow.setElementAt(aValue, columnIndex);
                //            fireTableCellUpdated(rowIndex, columnIndex);
                //        } catch (SQLException ex) {
                //            ExceptionEvent event = new ExceptionEvent(this, ex.getMessage());
                //            fireExceptionGenerated(event);
                //            try {
                //                con.rollback();
                //            } catch (SQLException ex2) {
                //                event = new ExceptionEvent(this, ex2.getMessage());
                //                fireExceptionGenerated(event);
            } catch (Exception ex) {
                //                    ExceptionEvent event = new ExceptionEvent(this, ex.getMessage());
                //                    fireExceptionGenerated(event);
    }

  • UpdateRow(): ORA-00907 missing right parenthesis???

    This pertains to Oracle8i 8.1.7 JDBC Drivers JDK 1.2.x for NT (classes12.zip) that I just downloaded today from the website.
    I call rset.updateRow() after I update a particular column
    rset.updateString("col_name","whatever")
    and get the following SQLException message.
    ORA-00907: missing right parenthesis.
    I tried to call rset.updateRow() without doing an updateString() and it passes with no exception.
    I've looked at my very simply code over and over and don't see how any of it could be a problem. Is it possible that Oracle released this driver forgetting about a little ")" somewhere in the SQL that it sends to the database in this method?
    Again:
    (1) rset.updateString("col_name","whatever");
    rset.updateRow();
    throws the SQLException
    (2) rset.updateRow();
    is fine by itself
    null

    If you are using the FOR UPDATE in your SELECT stmt, there is a bug.
    See BUG:1811866
    Encountered the same problem myself.
    Was unable to find any further reference to this bug on Oracle's site. Is this still outstanding, and, if so, is there a target date for the fix?

  • Problem with JDBC

    Hi, sorry but in other forum nobody answer my question.
    the probles is using JDBC 2.0, my cod is:
    Statement c = conn.createStatement();
    Statement =conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    ResultSet rest = n.executeQuery("select * from t_prueba");
    rest.last();
    rest.updateBlob("C", null);
    rest.updateRow();
    rest.close();c.close();conn.close();
    at time to execute this code, i have this error:
    java.sql.SQLException: Operaci�n no v�lida para el juego de resultados de s�lo lectura: updateBlob
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
    at oracle.jdbc.driver.BaseResultSet.updateBlob(BaseResultSet.java:482)
    at oracle.jdbc.driver.OracleResultSet.updateBlob(OracleResultSet.java:1230)
    at mypackage3.Conversor.leerImagenBase64(Conversor.java:51)
    at mypackage3.Conversor.main(Conversor.java:77)
    why is this problem if i using ResultSet.CONCUR_UPDATABLE in my statement.
    i 'm using jdeveloper 10.1.2 whith j2se 1.4.2_04
    please anyone can help me please
    tanks
    alex

    There are numerous problems with what you posted.
    1) Do you mean to use updateNull and not what you are doing?
    2) As mentioned why would you not do this in an UPDATE query? Even if you get this to work arbitrary moving around in a result set that you don't even need along with bad practices like SELECT * is just bad all around.
    3) Further as mentioned what you are trying to do is not supported (obviously) by your driver/database etc. Just because you ASK for a scrollable updatable cursor does not mean that you get one. You ask for one but obviously that error message says that the cursor is read only. For the benefits of others it says (more or less) "invalid operation on read only result set : updateBlob"
    Possibly you will have to use a forward only cursor to make it updateable... I don't know consult the Oracle docs. Or better yet don't do it this way.

  • Problem using updatable ResultSet

    I am using scrollable and updatable result sets to query and modify data. The problem I am having is that when I make a change to the data in a field on my form, the data gets modified in the database and not in the result set in my form. This only occurs when the field(column) I try to modify is one of the fields(columns) that I use in my query criteria. For example, I can issue the query "SELECT id, fname, lname FROM user WHERE fname='TED'". The problem is, if I change fname from 'TED' to 'JOE' from one of the records in the result set on my form, it gets changed in the database but NOT in the result set. If I change the field lname, the change is made in the result set and the database with no problem.
    I have also tried to issue this statement but it does not help:
    resultSet.refreshRow();
    This is the basic code for the update:
    private void updateRecord() {
    try {
    resultSet.updateString("id",idField.getText());
    resultSet.updateString("fname",fnameField.getText());
    resultSet.updateString("lname",lnameField.getText());
    resultSet.updateRow();
    } catch( SQLException ex ) { //Trap SQL errors
    JOptionPane.showMessageDialog(textPane,
    "Error updating the database"+'\n'+ex.toString());
    Any help would be appreciated.

    has been moved to JDBC forum...

  • Problem with parsing a date

    Hello!
    I am new in java programing. I have the code below:
    import java.sql.*;
    import java.math.BigDecimal;
    import java.sql.Date;
    public class TestActualizariJDBC
      public ResultSet CrsPersoane;
      public Statement StmtPersoane;
      public Connection conn;
      public TestActualizariJDBC()
        try
          conexiune();
        catch(Exception e)
          e.printStackTrace();
          System.out.println("Erori la conectare BD");
      public void conexiune() throws SQLException
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        this.conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
        this.StmtPersoane = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
        this.CrsPersoane=StmtPersoane.executeQuery("select p.* from personal p");
        System.out.println("INITIAL");
        this.afiseazaInregistrarile();
      public static void main(String[] args)
        try
          TestActualizariJDBC objTest = new TestActualizariJDBC();
          objTest.diverseModificari();
          //close connections
          objTest.CrsPersoane.close();
          objTest.StmtPersoane.close();
          objTest.conn.close();
        catch (Exception err)
          if (err instanceof SQLException)
            SQLException errSQL=(SQLException)err;
            javax.swing.JOptionPane.showMessageDialog(null,errSQL.getErrorCode()+"--"+err.getMessage(),
                        "Eroare actualizari!",javax.swing.JOptionPane.ERROR_MESSAGE);
          else
            System.out.println("A aparut o eroare non-SQL");
            err.printStackTrace();
        public void diverseModificari() throws SQLException
          //second record
          this.CrsPersoane.absolute(2);
          //modifiy colaborator
          this.CrsPersoane.updateString("colaborator","D");
          this.CrsPersoane.updateRow();
          //next record
          if(this.CrsPersoane.next())
            //modify the date
            java.util.Date dataJava = new java.text.SimpleDateFormat("dd/mm/yyyy").parse("04/10/2006");
            java.sql.Date dataSql = new java.sql.Date(dataJava.getTime());
            this.CrsPersoane.updateDate("datasv",dataSql);
            this.CrsPersoane.updateRow();
          //new record
          this.adaugareDefaultPerson();
          //print again
          System.out.println("DUPA UPDATE SI INSERT:");
          this.afiseazaInregistrarile();
          //delete last record
          this.CrsPersoane.last();
          this.CrsPersoane.deleteRow();
          //print again
          System.out.println("DUPA STERGERE");
          this.afiseazaInregistrarile();
        public void afiseazaInregistrarile() throws SQLException
          this.CrsPersoane.beforeFirst();
          while(this.CrsPersoane.next())
          System.out.println("INREGISTRAREA: "+CrsPersoane.getRow()+"-->"+CrsPersoane.getString("marca")+" "
          +CrsPersoane.getString(2)+" "+CrsPersoane.getDate(4));
        public void adaugareDefaultPerson() throws SQLException
          //new insert
          this.CrsPersoane.moveToInsertRow();
          this.CrsPersoane.updateInt("marca",9999);
          this.CrsPersoane.updateString("numepren","Persoana Noua");
          this.CrsPersoane.updateInt("compartid",1011);
          java.sql.Date dataDef = new java.sql.Date();
          this.CrsPersoane.updateString("datasv",dataDef);
          this.CrsPersoane.updateString("colaborator","N");
          //commit
          this.CrsPersoane.insertRow();
          System.out.println("Am inserat ?"+CrsPersoane.rowInserted());
          this.CrsPersoane.last();
          System.out.println("Ultima linie: "+CrsPersoane.getString("marca"));
          this.CrsPersoane.close();
          this.CrsPersoane=StmtPersoane.executeQuery("select p.* from personal p");
      }The problem appears in diverseModificari() and adaugareDefaulPerson and outputs this errors:
    Error(78,85): unreported exception: java.text.ParseException; must be caught or declared to be thrown
    Error(114,44): method <init> not found in class java.sql.Date
    Error(115,24): method updateString(java.lang.String, java.sql.Date) not found in interface java.sql.ResultSet
    Any help is appreciate ! Thanks in advance !

    Well, the first error is in this part of the code:
    public void diverseModificari() throws SQLException
          //second record
          this.CrsPersoane.absolute(2);
          //modifiy colaborator
          this.CrsPersoane.updateString("colaborator","D");
          this.CrsPersoane.updateRow();
          //next record
          if(this.CrsPersoane.next())
            //modify the date
            java.util.Date dataJava = new java.text.SimpleDateFormat("dd/mm/yyyy").parse("04/10/2006");
            java.sql.Date dataSql = new java.sql.Date(dataJava.getTime());
            this.CrsPersoane.updateDate("datasv",dataSql);
            this.CrsPersoane.updateRow();
    ..........As i can see the method has an throws SQLException, so where's the problem ?

  • Problems using updateFloat()

    I'm working my way through the Sun JDBC Tutorial, and have come across a problem in compiling a program containing ResultSet statements. The section of code is as follows;
    stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
    ResultSet.CONCUR_UPDATABLE);
    ResultSet uprs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");
    uprs.last();
    uprs.updateFloat("PRICE", 10.99);
    uprs.cancelRowUpdates();
    uprs.updateFloat("PRICE", 10.79);
    uprs.updateRow();
    uprs.previous();
    uprs.updateFloat("PRICE", 9.79);
    uprs.updateRow();
    The compiler is throwing up the following error messages;
    C:\My Documents\Uni\Year 4\Uqc120d3 (PROJ)\General Research\Jdbc odds\JDBC\JDBC Practice\JDBCTest2.java:181: cannot resolve symbol
    symbol : method updateFloat (java.lang.String,double)
    location: interface java.sql.ResultSet
    uprs.updateFloat("PRICE", 10.99);
    ^
    C:\My Documents\Uni\Year 4\Uqc120d3 (PROJ)\General Research\Jdbc odds\JDBC\JDBC Practice\JDBCTest2.java:183: cannot resolve symbol
    symbol : method updateFloat (java.lang.String,double)
    location: interface java.sql.ResultSet
    uprs.updateFloat("PRICE", 10.79);
    ^
    C:\My Documents\Uni\Year 4\Uqc120d3 (PROJ)\General Research\Jdbc odds\JDBC\JDBC Practice\JDBCTest2.java:186: cannot resolve symbol
    symbol : method updateFloat (java.lang.String,double)
    location: interface java.sql.ResultSet
    uprs.updateFloat("PRICE", 9.79);
    ^
    3 errors
    Process completed.
    I tried casting the values to float. This solved the problems with compilation, although the values written to my database (Access) were of the form 9.80805228941012E-39 etc.
    Am I missing something obvious?
    Thanks,
    Martin

    "10.99" is a constant of type double. If you want a constant of type float, use "10.99F". Can't comment on your statements about Access as you haven't said what type of column you are trying to update.

  • Java SP - ResultSet.updateRow causes 100x CPU consumption

    Oracle 11 Enterprise on Windows, with an out-of-the-box installation.
    I select from a table. No where clause. No order by. If I use ResultSet.updateRow to change any column, the CPU consumption of oracle.exe jumps 100x. Here is the code.
    Connection con = DriverManager.getConnection("jdbc:default:connection");
    Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
    ResultSet rs = stmt.executeQuery("select cola,colb from tab");
    while (rs.next()) {
    rs.updateString(1, "qwerd"); // comment out to save 99% of your CPU*
    rs.updateRow();
    rs.close();
    stmt.close();
    con.commit();
    For my test case, against 10,000 rows, removing that one line changes the CPU consumption from roughly 7 CPU seconds to 0.07 CPU seconds. I do mean CPU time - not elapsed time. The CPU measurement come from v$sesstat.value. Task manager confirms oracle.exe using 100% of a cpu for the duration of the call.
    I know that this example can be replaced with a single update statement. It is a gross simplification of a much larger proc, to replicate the problem.
    Help?

    Hi. For each row (when really updated), the DBMS is probably having to re-iterate
    through the table in the same unqualified way your query does, to position itself
    to the row you want to update. This whole thing is extremely inefficient, and I
    understand that you've reduced the issue to the simple example, but this does
    expose the critical fault of the algorithm. It breaks the number-one performance+
    rule for DBMS applications+: Don't move the data. Don't bring whole swaths of
    raw rows one-by-one to the client, just to find what you want to modify. Do the
    work where the data is, in the DBMS, using stored procedures. Build your saw mills
    where the trees are.
    Joe Weinstein

Maybe you are looking for