Updating an MS SQL table producing errors

I'm encountering a strange problem.
I'm writing a Java application that updates the data in every row for a particular column in a table of a MS SQL Server database. There are about 9000 rows in these tables.
Each time I run the application, it would update the first hundred rows, and then the program would catch an error "String index out of range".
The strange thing is that I have about 9 tables, and each of them have that many or more rows, and every one of them update without any problem, so I know that there isn't any problem with the code that's generating the new data to be updated.
To troubleshoot this problem, I've reduced the application to be as simple as possible, but I still have the same problem. I've looked at the database, and the row where it stops doesn't seem to be any different from the rest.
Here's my simplified code:
String tableStr = "Table1";         ResultSet table;         int newData = 1000000;         int DataCol = 29;         try{             Statement stmt;             String sql = "select * from dbo."+tableStr;             String tempData;             stmt = Conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);             table = stmt.executeQuery(sql);             System.out.println("Table dbo."+tableStr+" populated");             while(table.next()){                 tempData = DataGen(newData,false,true);                 table.updateString(DataCol, tempData);                 table.updateRow();                 System.out.println(table.getRow()+" "+tempData);                 newData++;             }         }         catch (Exception e){             System.err.println(e.getMessage());         }
The error caught (Exception e) is "String index out of range: -10872"
What is the possible reason that is causing this?

To be honest, I never knew that function existed... Thanks for the tip. The error still doesn't help though. I changed the function to do nothing but write a string to the function, but now I got this instead. Appears to be either a problem with the server or the driver.
java.sql.SQLException: TDS Protocol error: Invalid packet type 0x0
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2314)
        at net.sourceforge.jtds.jdbc.TdsCore.getNextRow(TdsCore.java:764)
        at net.sourceforge.jtds.jdbc.MSCursorResultSet.processOutput(MSCursorResultSet.java:959)
        at net.sourceforge.jtds.jdbc.MSCursorResultSet.cursorFetch(MSCursorResultSet.java:719)
        at net.sourceforge.jtds.jdbc.MSCursorResultSet.next(MSCursorResultSet.java:1137)I've tried a work around but I still don't know what may be causing it. Because I know if always stops at the 100th row, I got it to do 50 rows at a time and close and re-populate the resultset each time and now it works.
Thanks!

Similar Messages

  • How to Update this T-SQL Table?

    Hello,
    I am having trouble finding the correct syntax for updating this T-SQL table.
    Here is my Query which is adding an additional ' at the beginning and end.
    Query:
        Update [denodo].[dbo].[wrappers]
      SET wrapperWhereClause = '''AND County_Input=''Cheyenne & Arapaho Tribal Court'' AND WrapperID=729'''
      WHERE wrapperID = '729'
    The Outcome:
    'AND County_Input='Cheyenne & Arapaho Tribal Court' AND WrapperID=729'
    The Outcome I am hoping for:
    AND County_Input='Cheyenne & Arapaho Tribal Court' AND WrapperID=729
    Can anyone help me edit this so I can receive the outcome I am hoping for?

    >> Please learn
    I am having trouble finding the correct syntax for updating this T-SQL table. Here is my Query [sic] which is adding an additional ' at the beginning and end. <<
    Please learn basic terms so
    we can communicate. UPDATE is a statement and not a query. You do not know ISO-11179 rules, etc.
    Why are you building statements in SQL? You are doing bad SQL programming
    and need to stop. Your silly meta-data “wrapper_where_clause” and “county_input” is so fundamentally wrong I would fire you. Look at what I have done
    with SQL and see what a criticism that is!
    UPDATE Wrappers
    SET ??
    WHERE county_something =
    'Cheyenne & Arapaho Tribal Court'
    AND wrapper_id = '729';
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • SQL Bulk Update using Update query in SQL Table

    Hello All,
    I want to update data in sql table depends on some condition.
    I am getting excel sheet from client and want to change value of field say Status = c.
    Client is sending excel sheet with 300 field and want to change value for all 300 records with unique fields (field1 and field2) comming in that excel sheet...
    How can i write and update records as Bulk.
    Instaed updating one one recors ?
    Example ( Update Table_Name Set Status = 'c' Where Field1 = Value from Excel for Field1 and
    Field2 = Value from Excel for Field2 )
    Same needs to do for 300 records...
    Any help will wellcome.
    Thanks,
    Nilesh....
    Thanks and Regards, Nilesh Thakur.

    you can use OPENROWSET for that
    http://www.mssqltips.com/sqlservertip/1540/insert-update-or-delete-data-in-sql-server-from-excel/
    Another way is to use SSIS with data flow task having Excel source connecting to excel and using OLEDB command to update rows in table using it. You may also use staging table to get data from excel and later use it inexecute sql task to update your table
    to make update set based which would be faster.
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Oracle datalinks to update a MS SQL table

    I am accessing a MS SQL table thru an Oracle procedure. Reads with no problems. When I try and update a column (2 columns affected one is a int and the other is datetime) receive the following error:
    ORA-02070: database IWSCIV does not support || in this context
    Sql Statements tried are
    UPDATE iwPhotoProcessed@IWSCIV
    SET "Status" = 1
    where "BKno" = '1' || v_app_id;
    UPDATE iwPhotoProcessed@IWSCIV
    SET "Status" = 1, CompletedDate='04/05/2008 09:14:15 AM'
    where "BKno" = '1' || v_app_id;
    The above command (minus the @IWSCIV) works fine in MS SQL and updates rows.

    1) I would generally suggest avoiding string literals when doing UPDATE statements in general, but particularly in the case of updates across Heterogeneous Connectivity database links.
    2) I would generally write something like this (assuming "BKno" is declared as a string)
    DECLARE
      l_new_status NUMBER := 1;
      l_app_id VARCHAR2(10) := '1' || v_app_id;
    BEGIN
      UPDATE iwPhototProcessed@IWSCIV
         SET "Status" = l_new_status
       WHERE "Bkno" = l_app_id;
    END;Justin

  • From pl/sql table getting error - "ORA-01403: no data found"

    Hi All,
    i habe written package, and the spce define as -
    type F761RecType is RECORD (
    type F761TabType is TABLE of F761RecType INDEX BY BINARY_INTEGER;
    l_F761_table F761TabType;
    PROCEDURE modification1
    p_F761_table IN F761TabType,
    From button click of form i passed -
    DECLARE
    l_f761_table I743_PUC_MAPS_TREE_PKG.F761TabType;
    l_counter number;
    BEGIN
              LOOP
         l_counter :=l_counter+1;
              l_f761_table(l_counter).P_TABLE := :MAPS.P_table;
         EXIT WHEN      :SYSTEM.LAST_RECORD = 'TRUE' ;
    next_record;
    end loop;
    i743_puc_maps_tree_pkg.modification1(
                                            p_F761_table => l_f761_table,
    END;
    Now when I take table count (l_f761_table.count) in button click in form level I am getting value; but when I try to get the count in sid the package, it giving error "ORA-01403: no data found".
    Pls tell me where I am wrong ..!!
    BR,
    Subir

    Thaks all, probls has been solved..

  • Getting database error while updating data to mysql table.

    user registration.jsp < jsp user view to get input >
    <?xml version="1.0" encoding ="UTF-8"?>
    <%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    <%@ taglib prefix="x"   uri="http://java.sun.com/jsp/jstl/xml" %>
    <%@ taglib prefix="fn"  uri="http://java.sun.com/jsp/jstl/functions" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>Registeres USers Login Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <body>
    <%--debugging code--%>
    <%@ include file="debug.jsp" %>
    <table width="1049" cellpadding="5" align="center">
      <tr>
        <td width="2378"><div align="center">
          <h2 align="center"> User Registration</h2>
           <p>
         <c:url var="HmePgeURL"  value="/cw/router/home"  scope="page"/>
         <a href="${HmePgeURL}">Home</a>  <c:url var='BSPgeURL'  value='/cw/router/login'  scope='page'/>
         <a href="${BSPgeURL}">Buy or Sell</a>
         </p>
        </div></td>
      </tr>
    </table>
    <p align="center"> </p>
    <p>This website is only open to members of the De MontFort University.
    You will need a current @learner.dmu.ac.uk e-mail address in order to register.</p>
    <p> If you've already registered for one site you do not need to register again </p>
    <c:url value="/cw/router/userregistration" var="UregPgeURL" scope="page"/>
    <form name="frmregister" method="post" action="${UregPgeURL}">
      <div>
      <table width="726" height="285" border="0" align="left" cellpadding="2" cellspacing="0">
        <tr>
          <td width="157" align="right" >Name:</td>
          <td width="561" > <input name="txtname" type="text" value="${param.txtname}"/> </td>
        </tr>
          <c:if test="${!empty requestScope.reqInvalidUserName}">
          <c:out value="${requestScope.reqInvalidUserName}"/>
          </c:if>
        <tr>
          <td width="157" align="right" >Department</td>
          <td align="left" >
              <select name="txtdepartment" value="${param.txtdepartment}" >
                <option></option>
                <option value="Faculty of Art and Design">Faculty of Art and Design</option>
                <option value="Faculty of Business and Law">Faculty of Business and Law</option>
                <option value="Faculty of Computing Sciences and Engineering">Faculty of Computing Sciences and Engineering</option>
                <option value="Faculty of Health and Life Sciences">Faculty of Health and Life Sciences</option>
                <option value="Faculty of Humanities">Faculty of Humanities</option>
              </select>
          </td>
        </tr>
          <tr>
            <td align="right" >Programme</td>
            <td ><input type="text" name="txtprogramme"  value="${param.txtprogramme}" />
              (eg: BIS,SE) </td>
          </tr>
          <tr>
          <td align="right" >Telephone Number: </td>
          <td ><input name="txtphonenum" type="text" value="${param.txtphonenum}" /></td>
        </tr>
        <tr>
          <td align="right" >Date Of Birth: </td>
          <td ><input name="txtday" type="text" size="15" value="${param.txtdob}" />(of format YYYY-MM-DD)</td>
          </tr>
        <tr>
          <td align="right" >Username</td>
          <td align="left" >
              <input name="txtuserid" type="text"  size="15"  value="${param.txtuserid}" />
            (eg. p07269027 from [email protected])</td>
            <c:if test="${!empty requestScope.reqInvalidUserId}">
            <c:out value="${requestScope.reqInvalidUserId}"/>
            </c:if>
        </tr>
        <tr>
          <td align="right" >Password</td>
          <td align="left" >
              <input name="txtpassword" type="password"  size="15" value="${param.txtpassword}" />
          </td></tr>
         <c:if test="${!empty requestScope.reqInvalidPassword}">
          <c:out value="${requestScope.reqInvalidPassword}"/>
          </c:if>
        <tr>
          <td align="right" >Confirm Password </td>
          <td align="left" >
              <input name="txtpasswordconf" type="password" size="15"  />
          </td>
        </tr>
        <tr>
          <td colspan="2" align="center">
            <input name="frmsubmit" type="submit" value="Register User" />
            <input type="reset" name="Reset" value="Reset" />
          </td>
        </tr>
      </table>
         <c:if test="${!empty requestScope.reqQueryErrorMessage}">
          <c:out value="${requestScope.reqQueryErrorMessage}"/>
          </c:if>
         <c:if test="${!empty requestScope.reqInvalidUpdate}">
          <c:out value="${requestScope.reqInvalidUpdate}"/>
          </c:if>
    </div>     
    </form>
    </body>
    </html>
    proregistration.jsp ( registration process jsp)
    <?xml version="1.0" encoding ="UTF-8"?>
    <%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    <%@ taglib prefix="x"   uri="http://java.sun.com/jsp/jstl/xml" %>
    <%@ taglib prefix="fn"  uri="http://java.sun.com/jsp/jstl/functions" %>
    <%-- \WEB-INF\jsp\cwjsps\probooksforsale.jsp --%>
    <%-- Probookforsale --%>
    <%-- skip field validation and provide blankpage if first time in --%>
    <c:if test="${empty param.frmsubmit}">
    <c:set var="reqOutcome" scope="request" value=" "/>
    <jsp:forward page="/WEB-INF/jsp/cwjsps/userregistration.jsp"/> <%-- initial request --%>
    </c:if>
    <%-- validate txtname --%>
    <c:if test="${empty param.txtname}">
    <c:set var="reqInvalidUserName" scope="request" value= "User Name Cannot Be Empty"/>
    </c:if>
    <%-- validate txtuserid --%>
    <c:if test="${empty param.txtuserid}">
    <c:set var="reqInvalidUserId" scope="request" value= "User ID Cannot Be Empty"/>
    </c:if>
    <%-- validate txtpassword--%>
    <c:if test="${empty param.txtpassword}">
    <c:set var="reqInvalidPassword" scope="request" value= "Password Cannot Be Empty"/>
    </c:if>
    <%-- if userid invalid or username invalid  --%>
    <%-- redisplay form with originl typed-in data and with errors marked --%>
    <c:if test="${empty param.txtname or empty param.txtuserid}">
    <c:set var="reqOutcome" scope="request" value= "failure" />
    <jsp:forward page="/WEB-INF/jsp/cwjsps/userregistration.jsp"/> <%-- failure --%>
    </c:if>
    <c:catch var="pgeQueryError">
    <sql:update var="pgeRowCount" scope="page" >
    <%-- insert details to trader table --%>
    INSERT INTO trader(dbTraderName,dbTraderDepartment,dbTraderProgramme,dbTraderPhoneNum ,dbTraderDOB,dbTraderPNumber,dbTraderPwd)
    VALUES(?,?,?,?,?,?,?)
    <sql:param value="${param.txtname}"/>
    <sql:param value="${param.txtdepartment}"/>
    <sql:param value="${param.txtprogramme}"/>
    <sql:param value="${param.txtphonenum}"/>
    <sql:param value="${param.txtdob}"/>
    <sql:param value="${param.txtuserid}"/>
    <sql:param value="${param.txtpassword}"/>
    </sql:update>
    </c:catch>
    <%-- check For query Error --%>
    <c:if test="${not empty pgeQueryError}">
    <c:choose>
    <%-- check duplicate record --%>
    <c:when test="${pgeQueryError.rootCause.errorCode =='1062'}">
    <c:set var="reqQueryErrorMessage" scope="request" value="User already Registered - Duplicate Record" />
    <jsp:forward page="/WEB-INF/jsp/cwjsps/login.jsp"/>
    </c:when>
    <c:otherwise>
    <%-- database error --%>
    <c:set var="reqQueryErrorMessage" scope="request" value="Database Error" />
    <jsp:forward page="/WEB-INF/jsp/cwjsps/userregistration.jsp"/>
    </c:otherwise>
    </c:choose>
    <c:set var="reqOutcome" scope="request" value="failure" />
    <jsp:forward page="/WEB-INF/jsp/cwjsps/userregistration.jsp"/>
    </c:if>
    <%-- check For no rows returned --%>
    <c:if test="${pgeRowCount !=1}">
    <c:set var="reqInvalidUpdate" scope="request" value="*** rowCount not = 1"/>
    <c:set var="reqOutcome" scope="request" value="failure"/>
    <jsp:forward page="/WEB-INF/jsp/cwjsps/userregistration.jsp"/> <%-- failure --%>
    </c:if>
    <%-- Otherwise --%>
    <%-- Outcome is success --%>
    <c:if test="${pgeRowCount ==1}">
    <c:set var="reqOutcome" scope="request" value="success" />
    <jsp:forward page="/WEB-INF/jsp/cwjsps/login.jsp"/> <%-- success --%>
    </c:if>
    router.jsp  ( maps the jsp page based on success and failure)
    <?xml version="1.0" encoding ="iso-8859-1"?>
    <%-- /WEB-INF/jsp/cwjsps/router.jsp --%>
    <%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    <%@ taglib prefix="x"   uri="http://java.sun.com/jsp/jstl/xml" %>
    <%@ taglib prefix="fn"  uri="http://java.sun.com/jsp/jstl/functions" %>
    <%--  setup session if one does not exist --%>
    <%@ page session="true" %>
    <%-- set up debug variable --%>
    <c:set var="sessDebug" scope="session" value="true"/>
    <%-- get pathinfo information  from the request --%>
    <%-- this defines which use case has been requested --%>
    <c:set var="pgePathInfo" scope="page" value="${pageContext.request.pathInfo}" />
    <%-- uc02 : Login --%>
    <c:if test="${pageScope.pgePathInfo =='/home'}" >
    <jsp:forward page="/WEB-INF/jsp/cwjsps/home.jsp"/>
    </c:if>
    <c:if test="${pageScope.pgePathInfo =='/login'}" >
    <jsp:forward page="/WEB-INF/jsp/cwjsps/prologin.jsp"/>
    </c:if>
    <%-- uc01 : View Details Of Books For Sale --%>
    <c:if test="${pageScope.pgePathInfo =='/viewbooksforsale'}" >
    <jsp:forward page="/WEB-INF/jsp/cwjsps/probooksforsale.jsp"/>
    </c:if>
    <%-- uc01 : process User registration--%>
    <c:if test="${pageScope.pgePathInfo =='/userregistration'}" >
    <jsp:forward page="/WEB-INF/jsp/cwjsps/proregistration.jsp"/>
    </c:if>
    <%-- uc01 : debug --%>
    <c:if test="${pageScope.pgePathInfo =='/debug'}" >
    <jsp:forward page="/WEB-INF/jsp/cwjsps/debug.jsp"/>
    </c:if>
    <%-- uc01 : view Traders Own View  --%>
    <c:if test="${pageScope.pgePathInfo =='/Traderhomepage'}" >
    <jsp:forward page="/WEB-INF/jsp/cwjsps/Traderhomepage.jsp"/>
    </c:if>
    <%-- otherwise --%>
    <jsp:forward page="/WEB-INF/jsp/cwjsps/home.jsp"/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          &nb

    Hi..
    Correcting the record from PSA is temporary solution depends on u r criticality....
    Only Solution is to correct the record at source system level... Generally Material master data record is imp so just try to fix temporarily so that it vl not affect u r loads until it is corrected at Source System level..
    Note: inform the problem to u r co-ordinator and try to correct it ASAP... and explain the temp solution(PSA correction)...
    cheers..

  • Error while retrieving data from PL/SQL Table using SELECT st. (Urgent!!!)

    Hi Friends,
    I am using Oracle 8.1.6 Server, & facing problems while retrieving data from a PL/SQL Table:
    CREATE or REPLACE PROCEDURE test_proc IS
    TYPE tP2 is TABLE of varchar2(10); --declared a collection
    dt2 tP2 := tP2('a','b','c');
    i NUMBER(8);
    begin
    SELECT COUNT(*) INTO i FROM TABLE(CAST(dt2 as tP2));
    DBMS_OUTPUT.PUT_LINE('**'||i);
    end;
    While executing the above procedure, I encountered foll. error:
    ERROR at line 1:
    ORA-00600: internal error code, arguments: [15419], [severe error during PL/SQL execution], [], [],
    ORA-06544: PL/SQL: internal error, arguments: [pfrrun.c:pfrbnd1()], [], [], [], [], [], [], []
    ORA-06553: PLS-801: internal error [0]
    Can anyone please help me, where the problem is??
    Is it Possible to retrieve data from PL/SQL TABLE using SELECT statement? & How ?
    Thanks in advance.
    Best Regards,
    Jay Raval.

    Thanks Roger for the Update.
    It means that have to first CREATE TYPE .. TABLE in database then only I can fire a Select statement on that TYPE.
    Actually I wanted to fire a Select statement on the TABLE TYPE, defined & declared in PLSQL stored procedure using DECLARE TYPE .. TABLE & not using CREATE TYPE .. TABLE.
    I was eager to know this, because my organization is reluctant in using CREATE TYPE .. TABLE defined in the database, so I was looking out for another alternative to access PL/SQL TABLE using Select statement without defining it database. It would have been good if I could access a PLSQL TABLE using Select statement Declared locally in the stored procedure.
    Can I summarize that to access a PL/SQL TABLE using SELECT statement, I have to first CREATE TYPE .. TABLE?
    If someone have any other idea on this, please do let me know.
    Thanks a lot for all help.
    Best Regards,
    Jay Raval.
    You have to define a database type...
    create type tP2 is table of varchar2(10)
    CREATE OR REPLACE PROCEDURE TEST_PROC
    IS
    dt2 tP2 := tP2('a','b','c');
    i NUMBER(8);
    begin
    SELECT COUNT(*) INTO i FROM TABLE(CAST (dt2 AS tP2));
    DBMS_OUTPUT.PUT_LINE('**'||i);
    end;
    This will work.
    Roger

  • Can Crystal Report XI update data in a SQL Table

    Post Author: abidamin
    CA Forum: Data Connectivity and SQL
    Hi,
    I have a very specific requirement to update a flag field in one of SQL2005 database tables, I need to update a One character field with Y on all selected records printed on the report as a result of running the report successuflly.
    Can anyone let me know if it is possible to update a SQL table field using Crystal Report XI.
    Regards

    Post Author: SKodidine
    CA Forum: Data Connectivity and SQL
    Perhaps this KBase article can be of some help.
    http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=c2011921&sliceId=&dialogID=18608077&stateId=1%200%2018610053

  • Can't update a sql-table with a space

    Hello,
    In a transaktion I'm getting some Values from a SAP-ERP System via JCO.
    I update a sql-table with this values with a sql-query command.
    But sometimes the values I get from SAP-ERP are empty (space) and I'm not able to update the sql-table because of a null-value exception. (The column doesn't allow null-values). It seems that MII thinks null and space are the same.
    I tried to something like this when passing the value to the sql-query parameter but it didn't work:
    stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", " ")
    stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", " ")
    this works but I don't want to have a "_"
    stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", "_")
    Any suggestions?
    thank you.
    Matthias

    The problem is Oracle doesn't know the space function. But it knows a similar function: NVL --> replaces a null value with something else. So this statement works fine for me:
    update marc set
    LGort = '[Param.3]',
    dispo = '[Param.4]',
    schgt = NVL('[Param.5]', ' '),
    dismm = '[Param.6]',
    sobsl = NVL('[Param.7]',' '),
    fevor = '[Param.8]'
    where matnr = '[Param.1]' and werks = '[Param.2]'
    If Param.5 or Param.7 is null Oracle replaces it with a space in every other case it is the parameter itself.
    Christian, thank you for your hint with the space function. So I remembered the NVL-function.
    Regards
    Matthias

  • ERROR WHEN RETURNING A PL/SQL TABLE?

    Hi,
    I try to call a Oracle 9i function from Oracle 8i via TEST9.WORLD dblink.
    The function returns me a pl/sql table.
    It compiles but when I try to execute I get the following error
    The following error has occurred:
    ORA-02068: following severe error from TEST9.WORLD
    ORA-06512: at "TBSDEV.GETDATA", line 12
    ORA-06512: at line 2
    Note: I test the code in a single database instance
    and it works fine. The problem occurs when I move the getData function to 8i and
    call the package function via a dblink.
    What can I do?
    what might be the problem?
    Does not Oracle permit us move table of records between 2 database instances?
    ]f it does not, it is very tragic because we can get the SQL Server record sets to
    Oracle 9i through a gateway but we could not move these records sets within Oracle?
    !!!!!!!!!!! All of the code .} use is listed below.
    thanks in advance.
    --BELOW IS MY PACKAGE IN ORACLE 9i SERVER
    --THIS PACKAGE GETS DATA FROM SQL SERVER THROUGH TRASPARENT GATEWAY
    CREATE OR REPLACE package tgw is
    TYPE RefCursorType IS REF CURSOR;
    TYPE HisseRecordType IS RECORD( HisseAd VARCHAR2(20) := '' );
    TYPE HisseTableType IS TABLE OF HisseRecordType INDEX BY BINARY_INTEGER;
    mytable HisseTableType;
    myrecord HisseRecordType;
    function getRecords return HisseTableType ;
    end;
    CREATE OR REPLACE package body tgw is
    function getRecords return HisseTableType is
    rc RefCursorType;
    htable HisseTableType;
    hrec HisseRecordType;
    BEGIN
    "ahtha"."getHisseSenetleri"@ata(rc); --CALLS SQL SERVER STORED PROCEDURE
    FOR i IN 1..10 LOOP
    FETCH rc INTO htable(i);
    END LOOP;
    CLOSE rc;
    RETURN htable;
    END;
    end;
    --HERE IS THE PROCEDURE IN OUR MAIN ORACLE 8i SERVER
    -- TGW9i ]S THE dblink to the oracle 9i
    -- THE BELOW CODE COMPILES BUT GIVES THE ERROR I MENTIONED ABOVE
    PROCEDURE getdata is
    htable tgw9i.mytable%TYPE;
    hrec tgw9i.myrecord%TYPE;
    begin
    htable:=tgw9i.getRecords(10);
    FOR i IN 1..10 LOOP
    DBMS_OUTPUT.PUT_LINE(htable(i).HisseAd);
    END LOOP;
    end;

    The problem might be passing PL/SQL Tables or Records over your database link. You might run some more simple tests with PL/SQL Records and Tables over your link.
    1) I still suggest you use a GLOBAL TEMPORARY TABLE to pass your information, attempt to do everything in a few SQL statements to pass the informaiton. And then process it on the other side. Database links tend to be a bit slow, and so you want to try to reduce the number of times you extract information through the link.
    2) Someone else may have more experience with DB links, and calling procedures through them.
    I wish you luck that you find your answer soon,
    Eric Kamradt

  • How to find out who made inserts/updates/deletes made to a SQL Table

    I want to know WHO MAKES INSERTS/UPDATES/DELETES TO a particular SQL Table. Bascially I want to AUDIT ANY Edites made to a SQL 2008 TABLE. I need info such as WHO AMDE THE Updates i.e. the user first/lastname, When update was made, what row was updated etc...How
    can I do that with SQL 2008?

    One way to achieve that would be to use triggers to detect when a change is made to the table, and then insert a record into another table/database detailing what changed and who by.
    You'd need three triggers, one for insert, update and delete respectively, and for each of those you use the "inserted" and "deleted" tables (system tables maintained by SQL) to retrieve what has been done. To retrieve who made the change you can query IDENT_CURRENT
    which returns the last identity value for a specific table.
    See :
    Triggers -
    http://msdn.microsoft.com/en-gb/library/ms189799(v=sql.100).aspx
    Inserted & deleted tables -
    http://technet.microsoft.com/en-us/library/ms191300(v=sql.100).aspx
    INDENT_CURRENT -
    http://technet.microsoft.com/en-us/library/ms175098(v=sql.100).aspx
    There may be better / more up to date ways to do this, but I've used this method successfully in the past, albeit a long time ago (on a SQL 2000 box I think!).

  • Error while connecting to external SQL table using BCS identity in SharePoint 2010

    Hi all,
    I am working on SharePoint Foundation 2010. I have a stand alone setup. Now I am trying to connect to a SQL table in another server. I have used SharePoint Designer to connect using BCS. I have selected "BCS Identity" for authenticating with SQL
    in the external content type. then I created a list with this external content type.
    I get the following error upon opening the external list.
    Login failed for user 'INYKGW\sp_farm'.
    I am confused. how do I solve this error.
    any help is greatly appreciated.
    Thanks.

    Hi letShare ,
    Whether the  account 'INYKGW\sp_farm' is current user account or a service managed account?
    Could you  please  provide detail error message of ULS log  to determine the exact cause of the error.
    For SharePoint 2010, by default, ULS log is at      
    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS
    Also please have a look at  the blog :
    http://www.wonderlaura.com/Lists/Posts/Post.aspx?ID=82
    Best Regards,
    Eric
    Eric Tao
    TechNet Community Support

  • How to update flag in multiple tables using custom sql DB adapter

    hi all,
    I have a scenario: I want to update flags in multiple tables in DB2. I have used toplink update only to update all tabless after creating relationships between them. But that approach is not working as it couldnot detect emmisions with DB2 and update the complete record with blank values in other columns.
    So, i want to use custom sql now. Can anybody help in resolving the issue or in writing the custom sql.
    Regards
    Richa

    Dear SeánMacGC thanks for reply,
    But "a.changed" is not a field in GNMT_CUSTOMER_MASTER_CHG. what i am doing in this procedure is i am collecting bulck data and validating field by field from GNMT_CUSTOMER_MASTER_CHG with GNMT_CUSTOMER_MASTER table as their structure is same.. if v_name is not same as v_name_chg then i am setting changed flag to "Y" changed is "changed dbms_sql.varchar2_table" and updating GNMT_CUSTOMER_MASTER in bluck where changed flag ='Y'...
    type custRec is record
    n_cust_ref_no dbms_sql.number_table,
    v_name dbms_sql.varchar2_table,
    v_name_chg dbms_sql.varchar2_table,
    rowid rowidArray,
    *changed dbms_sql.varchar2_table*
    i cannot use simple SQL as i need to validate field for each records with GNMT_CUSTOMER_MASTER_CHG and insert into log file as well.....
    to run this procedure:
    execute DO_DC_NAME_UPDATE_OTHER_TAB.DO_NAME_UPDATE_OTHER_TAB;
    Thanks...

  • Error in reading sql tables(in arabic) on linux

    Hello,
    i have written a JDBC java application using JDK1.3, but there's some data written in arabic language which i can read on windows and not on linux.
    So, How read sql tables written in arabic on linux?
    THX

    We encountered:
    BUILD FAILED
    /home/oracle/Oracle/Middleware/oracle_common/Infrastructure/Install/AID/AIAInstallDriver.xml:167: The following error occurred while executing this line:
    /home/oracle/Oracle/Middleware/oracle_common/Infrastructure/Install/AID/AIAExecuteDriver.xml:106: The following error occurred while executing this line:
    <Jan 28, 2010 1:44:27 PM ARST> <Warning> <JNDI> <BEA-050001> <WLContext.close() was called in a different thread than the one in which it was created.>
    /home/oracle/Oracle/Middleware/oracle_common/Infrastructure/Install/AID/AIAExecuteDriver.xml:58: The following error occurred while executing this line:
    /home/oracle/Oracle/Middleware/oracle_common/aia_instances/AIA/tmp/AIDExecuteDP_temp_1414226413.xml:11: The following error occurred while executing this line:
    /home/oracle/Oracle/Middleware/oracle_common/Infrastructure/Install/AID/lib/AIDDeploymentLibraryTasks.xml:90: Traceback (innermost last):
    File "/home/oracle/Oracle/Middleware/oracle_common/Infrastructure/Install/AID/lib/py/deployApplication.py", line 36, in ?
    File "<iostream>", line 376, in activate
    File "<iostream>", line 1744, in raiseWLSTException
    WLSTException: Error occured while performing activate : Error while Activating changes. :
    Use dumpStack() to view the full stacktrace
    The steps described in [this blog|http://www.deltalounge.net/wpress/2010/07/restart-a-failed-aia-11g-r1-installation/] got us back on track.
    Make shure you performed all pre-installation steps.
    hth

  • SAP Note regarding manually updating SQL tables

    Hi all,
    I know that under no circumstances should customers update their SQL tables using any method expect DTW or via SAP.
    Is there an SAP Note on this subject.  I cannot find one anywhere?
    Thanks
    Greig

    Check this SAP Note: 896891     Support Scope for SAP Business One - DB Integrity
    [https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smb_searchnotes/display.htm?note_langu=E&note_numm=896891]

Maybe you are looking for