BIP truncating long varchar2 values?

Okay, I readily admit I'm new to BIP, and I may well be making a stupid newbie mistake here.
I have a relatively simple query defined for a report:
select cio_s_num, potential_source
from cio_s_format
order by cio_s_numwhich is hitting an Oracle 10g schema/table. The 'potential_source' column is a varchar2(500), and there are values that vary in length from 2 chars to 250+.
When I save this query, and view the output in 'Data' format (aka the generated XML), BIP is truncating all the potential_source values at 175 characters. If I put together a template and generate PDF or HTML output, I see the same truncation.
The same table and query can be run in SQL*Plus, or in an Apex application, without any truncation problems.
I've checked for strange/unprintable characters in the data, but found nothing unusual.
I've tried doing a to_clob() conversion in the query - no change in behavior.
I've tried outputting length(potential_source) -- it's correct for shorter values but never greater than 175.
I've tried using substr() to fetch the string in sections -- apparently it sees no data beyond 175.
Running BIP 10.1.3.4, querying against Oracle 10g.
Is this a known limitation of BIP that my searches didn't uncover? A bug? A stupid user trick?
Thanks

New piece of information to throw in the mix -- a DBA checked a change log, and the POTENTIAL_SOURCE column in the table was at one point altered from varchar2(175) to varchar2(500). The table wasn't rebuilt or anything, a simple ALTER TABLE .. MODIFY command was used.
Could this be causing the data read problems -- whatever software/driver BI is using to talk to Oracle doesn't look for the "... oh, and there might be more data for that field over HERE" flag?
I've also tried adding a second long varchar2 column to the query (one our DBA has no record of previous altering), and the second column is NOT truncated. So the general functionality seems fine in our environment, it's some related to this data and/or table.

Similar Messages

  • When overwritting CLOB longer previous value still remains

    Hi,
    I have a problem with updating CLOB's. Below is how I write them:
    String selectStatement = "select description from modules where " +
    "system = ? and version = ? and module = ? for update";
    PreparedStatement selStmt = con.prepareStatement(selectStatement);
    selStmt.setString(1, system);
    selStmt.setString(2, version);
    selStmt.setString(3, module);
    ResultSet rset = selStmt.executeQuery();
    ResultSetInPool rpool = (ResultSetInPool)rset;
    if (rpool.next()) {
    desclob = (CLOB)((OracleResultSet)rpool.getUnderlyingResultSet()).getCLOB(1);
    // Write character stream (description) to CLOB variable
    writer = ((CLOB)desclob).getCharacterOutputStream();
    writer.write(description.toCharArray());
    writer.flush();
    } else {
    throw new NoSuchEntityException("Row does not exist");
    The problem is that when there is a value already written which is longer then new one, part of the old value (which has not been overwriten) still remains in the database. Is that normal behavior? Is there any way how to address this problem better/faster then updating row with EMPTY_CLOB() and writting string again?
    Thanks for response in advance,
    RAF

    Hi Rafal,
    If you are using Oracle9i JDBC Drivers, then use the
    oracle.sql.CLOB.trim(long offset) method to clear the contents of the CLOB.
    like ,
    // clear the contents of clob
    clob.trim(0);
    else If you are using JDK 1.4 , use java.sql.Clob.truncate(long offset)
    clob.truncate(0);
    then start streaming the new contents into the clob.
    I guess its the normal behaviour of CLOB.
    Regards
    Elango.

  • Oracle Provider for oledb 8i & 9i truncates LONG fields

    Anyone,
    I have a situation where my Oracle oledb driver truncates LONG fields.
    My application that runs queries using the oracle oledb driver.
    The query is a join between two tables and includes a LONG as one of the fields retrieved.
    When the Cursor Location is set to server the data returned is truncated.
    Setting the Cursor Location to Client I can retrieve the complete data under specific cursor and lock types. The Microsoft driver for oracle does not truncate.
    Note that a simple query without the join does not cause the problem.
    Has anyone else noticed this? I know its quite specific.
    Thanks
    Stuart

    Hi,
    I've got the same problem, i.e. SELECT a LONG RAW column from
    joined/unioned tables truncates the column (via OraOleDB).
    Unfortunately, setting ChunkSize to 65535 does not help me,
    because data in a column are longer, then 64K (and are truncated
    to 64K). Please, have you found any solution?
    Thanks for any reply ..
    Milan

  • Oracle OLEDB drive 8i and 9i truncates LONG fields

    Anyone,
    I have a situation where my Oracle oledb driver truncates LONG fields.
    My application that runs queries using the oracle oledb driver.
    The query is a join between two tables and includes a LONG as one of the fields retrieved.
    When the Cursor Location is set to server the data returned is truncated.
    Setting the Cursor Location to Client I can retrieve the complete data under specific cursor and lock types. The Microsoft driver for oracle does not truncate.
    Note that a simple query without the join does not cause the problem.
    Has anyone else noticed this? I know its quite specific.
    Otherwise where do you submit bugs to oracle?
    Thanks
    Stuart

    Hi,
    I've got the same problem, i.e. SELECT a LONG RAW column from
    joined/unioned tables truncates the column (via OraOleDB).
    Unfortunately, setting ChunkSize to 65535 does not help me,
    because data in a column are longer, then 64K (and are truncated
    to 64K). Please, have you found any solution?
    Thanks for any reply ..
    Milan

  • Please Help - SQL Report long column value required in a separate cell

    Hi.
    I need to create a SQL report with the structure like below:
    Country State City Vertical Business Details (detail desc)
    US MA Quincy Healthcare
    This is a detail desc value that needs to displayed in a different cell.
    This is a detail desc value that needs to displayed in a different cell.
    This is a detail desc value that needs to displayed in a different cell.
    This is a detail desc value that needs to displayed in a different cell.
    US MA Braintree IT
    This is a detail desc value that needs to displayed in a different cell.
    This is a detail desc value that needs to displayed in a different cell.
    This is a detail desc value that needs to displayed in a different cell.
    I came through a solution where you can hide/display the long column value in a different cell. But my requirement is that it should be displayed when the page opens and user don;t want to click on a button to see the value. This is mainly for their presentations and printing. so its very annoying for them to click on so many buttons to see the detail desc value for every record. I am new to Java script, Please help

    I'm not sure I understand your requirements--are you showing us 2 lines of data, 7 lines, or 9? Do you want the long detail description on the same row, or underneath it?
    I'm going to go on the assumption that you're showing us two rows, and that the long descriptions in this example happen to be 3-4 lines long, and that you want the long descriptions underneath the details. In which case, I suggest using "named column" templates. They're a lot easier to use than they appear when you first look at them, so bear with me.
    Under "Shared Components", select "Templates", and then click on the yellow Create> button. You're creating a report template, from scratch. On the final page of the wizard, select "Named Column (row template)" for the template type. This will create a rather generic (and useless) template, which you'll have to edit; I don't know why they chose to not send you straight into the editor. When you edit it, you'll see that the only field with a value in it is "Row Template 1", and it's set to:
    <tr><td>#1#</td><td>#2#</td><td>#3#</td><td>#4#</td><td>#5#</td></tr>For meeting your requirements with basic functionality, change it to something along the lines of:
    <tr><td>#COUNTRY#</td><td>#STATE#</td><td>#CITY#</td><td>#VERT#</td></tr>
    <tr><td colspan="4">#DETAILS#</td></tr>Then you'll probably want to put something under Column Heading Template, like:
    <tr><td>Country</td><td>State</td><td>City</td><td>Vertical Business</td></tr>
    <tr><td colspan="4">Details</td></tr>Apply whatever CSS styles you want to it, of course.
    Using the template is straightforward: if your report, chose the template, and make sure your SQL returns values using the column names you specified in your template. Otherwise, you'll see literal "#COUNTRY#" text in your report.
    You can get fancy with these, of course, such as applying different styles to alternating rows, but I'll leave this as good enough to get you started (I hope).
    -David

  • BUG? ORA-01461 in Unit Tester when saving a long Dynamic Value Query

    I get an ORA-01461 "can bind a LONG value only for insert into a LONG column" error when saving a Test Implementation with a Dynamic Value Query whose length of the SQL statement is roughly 2,000 characters - I'm UNIONing ALL about 30 test case values together, but it seems to be choking on such a long SQL string for some reason....
    I am running version Early Adopter Release #2 (2.1.0.63), build MAIN-63.10.
    Thoughts?

    Confirmed.
    Bug 9119144: ORA-01461 IN UNIT TESTER WHEN SAVING A LONG DYNAMIC VALUE QUERY (OR OTHER CLOB)
    Brian Jeffries
    SQL Developer Team

  • GP - How to display a long string value

    I'm trying to display a really long string value and then allow the user a couple of result state choices (to either go back and do another search or finish).
    None of the forms (WD, display, etc.) will display a really long string.
    I tried using a loop type decision dialog, but there doesn't appear to be a way of having it pick up a parameter value as the message (or part of the message) to display.
    I can get it to display in the complex type decision dialog, but I don't need the group/options and I can't seem to get rid of the second set of buttons that show up (the long string parameter value was put into the 'Info Texts' area and does display ok).
    Is there any easy way of displaying the complete contents of a long string value and have buttons for results states?  I'd even be happy if I could just display the whole string and use a separate callable object for the choices.
    Thanks,
    Cindy

    I think you should try calling a JAVA or ABAP Webdynpro as the callable object. As you know, we can display long texts in the webdynpro fields. Other alternative is an Adobe form as well.
    Cheers,
    Mandrake

  • International Long Distance Value Plan

    I'm trying to confirm that the International Long Distance Value Plan (calling Canada = $5.00 monthly access charge, $0.01/min for landline and mobile) can be added to a ALLSETS prepaid plan. I'm hoping to setup a prepaid plan in the next few days. I had talked to a Verizon rep on the phone and they had said that this plan cannot be added to a prepaid plan. I had chatted via the online chat with a rep who said that it is possible to do this. International Prepaid Phones & Plans - Verizon Wireless is where I saw this Long Distance plan. So who/what is correct?

    I just chatted with another rep online. Additional funds must be made available on the Prepaid account before using the International Long Distance Value Plan. So for a smartphone, it would be the $45 for the ALLSETS plan, plus $5 for the access fee, plus however much more funds are added to use the per min. charge to make the international long distance call.
    The other option would be to go with the plan that offers 1000 mins. for $10/month (calling Canada).

  • Long / double value convertion to Packed Decimal

    Hi,
    Could anybody tell me how to convert a long / double value to Packed Decimal (AS400) ?
    Thanks,
    Probir

    Now I'm writing this value in a flat file by
    FileOutputStream and sending to mainframe through FTP.
    But the mainframe people said it's not converted into
    packed decimal. Is it the right way to convert ??When you say "mainframe" I assume you are referring to a machine that uses EBCDIC. Java, even on the iSeries, uses Unicode and not EBCDIC, so when you FTP anything to the mainframe it will go through an ASCII-to-EBCDIC conversion. You want this to happen for text but you don't want it to happen for packed decimals; your carefully-constructed x'12' x'3f' bytes will be dutifully converted into EBCDIC garbage.
    FTP of an iSeries file (in the QSYS.LIB file system) to a mainframe is trivial because both client and server use EBCDIC, so there are no conversion issues. So if you could do it that way, you definitely should. Otherwise you are going to have to take your packed decimal data and replace it by the bytes that would be translated into it if it were in EBCDIC. The translation table QEBCDIC in library QSYS shows you how it does that, so use that table. You can look it with the command WRKTBL QSYS/QEBCDIC. You'll notice for example that x'09' in ASCII gets converted to x'05' in EBCDIC. So if you want to get x'05' into part of a packed decimal field on the mainframe, you have to send it x'09'. And so on. Like I said, I would recommend doing something other than this. Ask the mainframe people to not make you used packed decimal, for example.
    PC&#178;

  • Apache common-cli: --long-option=VALUE ?

    hello
    I want my application displaying following help on command line:--long-option=VALUEHaving read instructions on http://commons.apache.org/cli/usage.html I wrote following code for common-cli-1.2:    options.addOption(
           OptionBuilder.withLongOpt("long-option")
             .withValueSeparator('=')
             .hasArg()
             .withArgName("VALUE")
             .create());But the result is:--long-option &lt;VALUE&gt;How do I force common-cli to output <tt>long-option=VALUE</tt> instead of <tt>long-option &lt;VALUE&gt;</tt>?
    bye
    TPD

    To me it says, you're passing in an object whose value will be ignored. Only its type will be used (Integer in your first example). Then, the next time you use that OptionBuilder to create an Option, it will create an Option of that type (an Integer Option in your example). Note that in Java 5 and later, autoboxing will convert primitives into objects if it feels like it.
    If it was me I would have declared it as "withType(Class newType)" to make that clearer. But since they didn't, perhaps my interpretation isn't correct.
    Does that address your question?

  • "Data truncation: Incorrect datetime value" Error Message

    Hello,
    I'm running Coldfusion 8 with a MySQL database. The s10Date
    column is of type "datetime".
    What would cause the following error to occur when I'm
    entering data into the database?
    Data truncation: Incorrect datetime value: '{ts '2008-09-03
    17:16:01'}' for column 's10Date' at row 1
    The error occurred in
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\components\DataMgr\DataMgr.cfc:
    line 1602
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\components\DataMgr\DataMgr.cfc:
    line 1170
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\components\DataMgr\DataMgr.cfc:
    line 1633
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\parsed\quest_c_registrations.processregistr ationform.cfm:
    line 37
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\parsed\quest_c_registrations.processregistr ationform.cfm:
    line 5
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\parsed\quest_c_registrations.processregistr ationform.cfm:
    line 1
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\fusebox5\Application.cfc:
    line 228
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\fusebox5\Application.cfc:
    line 218
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\fusebox5\fusebox5.cfm:
    line 57
    Called from
    C:\ColdFusion8\wwwroot\Websites\questnbs.info\index.cfm: line 12
    1600 : <cfquery name="qQuery"
    datasource="#variables.datasource#" username="#variables.username#"
    password="#variables.password#"><cfloop index="i" from="1"
    to="#ArrayLen(aSQL)#" step="1"><cfif IsSimpleValue(aSQL
    )><cfset temp =
    aSQL>#Trim(PreserveSingleQuotes(temp))#<cfelseif
    IsStruct(aSQL
    )><cfset aSQL = queryparam(argumentCollection=aSQL
    )><cfswitch
    expression="#aSQL.cfsqltype#"><cfcase
    value="CF_SQL_BIT"><cfif aSQL
    .value>1<cfelse>0</cfif></cfcase><cfcase
    value="CF_SQL_DATE">#CreateODBCDateTime(aSQL.value)#</cfcase><cfdefaultcase><cfif
    ListFindNoCase(variables.dectypes,aSQL
    .cfsqltype)>#Val(aSQL.value)#<cfelse><cfqueryparam
    value="#aSQL
    .value#" cfsqltype="#aSQL.cfsqltype#" maxlength="#aSQL
    .maxlength#" scale="#aSQL.scale#" null="#aSQL
    .null#" list="#aSQL.list#" separator="#aSQL
    .separator#"></cfif></cfdefaultcase></cfswitch></cfif>
    </cfloop></cfquery>
    1601 : <cfelse>
    1602 : <cfquery name="qQuery"
    datasource="#variables.datasource#"><cfloop index="i"
    from="1" to="#ArrayLen(aSQL)#" step="1"><cfif
    IsSimpleValue(aSQL)><cfset temp = aSQL
    >#Trim(PreserveSingleQuotes(temp))#<cfelseif
    IsStruct(aSQL)><cfset aSQL
    = queryparam(argumentCollection=aSQL)><cfswitch
    expression="#aSQL
    .cfsqltype#"><cfcase value="CF_SQL_BIT"><cfif
    aSQL.value>1<cfelse>0</cfif></cfcase><cfcase
    value="CF_SQL_DATE">#CreateODBCDateTime(aSQL
    .value)#</cfcase><cfdefaultcase><cfif
    ListFindNoCase(variables.dectypes,aSQL.cfsqltype)>#Val(aSQL
    .value)#<cfelse><cfqueryparam value="#aSQL.value#"
    cfsqltype="#aSQL
    .cfsqltype#" maxlength="#aSQL.maxlength#" scale="#aSQL
    .scale#" null="#aSQL.null#" list="#aSQL
    .list#"
    separator="#aSQL.separator#"></cfif></cfdefaultcase></cfswitch></cfif>
    </cfloop></cfquery>
    1603 : </cfif>
    1604 :
    Thank you in advance for your assistance.
    Simon

    Just a note, I had the same problem and resolved it by making
    sure my cfsqltype in cfqueryparam is cf_sql_timestamp instead of
    cf_sql_datetime (which is not a valid value).
    Also, just a note that when working with a datetime value in
    cfqueryparam, using cf_sql_date for cfsqltype will truncate the
    time to 00:00:00.

  • Copy functionality which did not copy Long Text values causing us an issue

    Two new Master Recipes created in Bathurst by using copy functionality in transaction C201 contained SRC value errors believed to be caused by changes in the copy
    functionality which did not copy Long Text values causing us an issue when creating Process Orders.   Current workaround is to manually edit the
    value fields and re-save the MRs, the issue is then resolved.

    This will resolve the issue
    SAP Note 1452700 - "New" button is disabled after
    displaying text
    Note Language: English Version: 1 Validity: Valid Since 03/25/2010
    Summary
    Symptom
    In display mode you navigate via the text hyperlink to the text view.
    When you navigate back, the "New" button on the "Notes" assignment block is
    disabled.

  • MBP vs MBP Retina for long term value?

    I'm looking to upgrade from my current MBP to a higher performing one. I bought my current mid-2011 13" for basic use, word processing, internet, etc. I now work at an internet marketing and design agency though and it's not performing well enough for my needs.
    I run a fair number of programs (evernote, skype, ical, excel, word, itunes, firefox, and chrome with a bunch of tabs open at once) at the same time and my RAM (currently 4gb) is always maxed out right now. My current computer also won't handle photoshop, which I need to be able to use (not all day, everyday, but I do need to be able to use it). I'd like to be able to run Boot Camp or Parallels as well.
    I spent a few hours today researching and got it down to roughly 2 options. My main issue between the two is long term value, which one will work the longest/be worth the most in 3-4 years when I want to upgrade.
    Option 1. Buy a 15" MBP 2.6ghz Retina with 16GM Ram upgrade. I know this is more than enough for my needs, I would mainly be buying this with the hope it would last a long time and so be worth it. My main problem with the Retina is the inability to upgrade so I feel like I have to make sure I get everything on the front end. (Cost $3k)
    Option 2. Buy a standard 15" MBP knowing that I could upgrade to a SSD and add more RAM when I need it. My thinking is that RAM and SSDs are only going to get cheaper  so why not just hold out for if/when I need it.
    So which option do you think I should choose? If I go with option 2, is it worth it to upgrade to the 2.6ghz processor? I would get the 8gb RAM either way so it would effectively be a $300 upgrade.
    Thanks for your replies.

    If I were you I would go for MBP with retina display. And if the price matters for you you can get the base model with 2.3ghz + 16G RAM. This one works like the 2.6ghz for you and you and I couldn't see the differences on our regular daily usage. With the money that you can save you can buy an external HD with thunderbolt support (7200rpm or even go for RAID). Probably after few years it would be no difference between 2.3ghz and 2.6ghz and both of them will be old and no one cares about 0.3ghz more or less. The only problem is in storage (which software are getting bigger every day) which I heard you can upgrade the MBPr storage in the future.
    Upgradeable it's just a term. What you want to upgrade after 3-4 years in standard MBP? Let me see there is only two things for upgrade storage and memory. Not CPU nor Graphic card or anything else. I heard they can change the storage on MBPr not at the moment but maybe in future. For the RAM part I see a lot of people want to buy 8G RAM not even 16G because 8G is clearly enough for few years. But you can go with the 16G and make sure you can have a high end machine for years. (But honestly, most of the people go with the new machines after few years and they don't upgrade that much.)
    So non-upgradeable is not an issue in MBPr for a lot of people except some people. The only thing you should be worried about is being repairable (1/10 score from iFixit) which you can buy AppleCare with the money you saved (from 2.6ghz to 2.3ghz) and be happy at least for 3 years.
    iIt was my opinion and of course you should do what ever works for you.
    good luck

  • Is it normal for a waveform graph to truncate arrays of values that are longer than others when displaying multiple waveforms on the same graph?

    I am reading back values of several waveforms that were saved to disk using the write to spreadsheet vi. Some of the data sets are longer than others eg. 35 seconds vs 45 seconds. All have the same sample rate.
    See the code segment below. If I select the larger files first then all the data will show. If I select a smaller file first the larger ones will be truncated to the size of the small file. I am using LV 7.0.
    Attachments:
    codesnippet.vi ‏41 KB

    I needed to make some grammatical/ nomelclature changes, But, Could not edit the previous post.
    so posting again
    "Thats because you are inserting into an array of a predefined size.
    For ex,
    When you try inseting a 1D array 'A' of 50 elements as row 1 of a  2 D array of 40 elements(in row 0 ), only only the first 40 elements will get insetred into 2 D array. You lose the last 10 elements of array 'A'
    To avoid this, I suggest you use XY graph( of course you have to create an x axis with the index of each element in the inserted array and plot on xy graph).
    Any doubts, do get back"
    regards
    Dev

  • Stored procedure OUTPUT VARCHAR2 value truncated using 12c client on Server 2012

    Questions:
    1) Is there a version of Oracle Client 11g which runs on Server 2012? My 11.2.0.0, when the installer begins, says my Server 2012 (8GB mem, 80 GB drive) does not meet the minimum requirements and I should not install it. This same installer worked on Server 2008.
    2) Have you seen the following behavior from Oracle client 12c? Are there any patches?
    When I was unable to find a version of Oracle 11g client for Windows Server 2012, I downloaded Oracle 12c. We have a few stored procedures, when invoked from a Windows Server 2008 with an 11g client work. However, when running that some code on a Windows Server 2012 machine does not work. I have certain stored procedures with an OUTPUT parameter when executed on 2012 has the values truncated.
    For instance:
    Output parameter is set to return "SUCCESS", but was is received is "SUC"
    Ouput parameter is set to return "AllSet", but it returns "All"
    Output parameter is set to cast a NUMBER to a VARCHAR2 and the value is a 5 digit number, but only the first two digits are returned. Ex: "83976", but only "83" appears.
    The above takes place when run from Server 2012, but works fine from Server 2008 and Win 7.

    Questions:
    1) Is there a version of Oracle Client 11g which runs on Server 2012? My 11.2.0.0, when the installer begins, says my Server 2012 (8GB mem, 80 GB drive) does not meet the minimum requirements and I should not install it. This same installer worked on Server 2008.
    2) Have you seen the following behavior from Oracle client 12c? Are there any patches?
    When I was unable to find a version of Oracle 11g client for Windows Server 2012, I downloaded Oracle 12c. We have a few stored procedures, when invoked from a Windows Server 2008 with an 11g client work. However, when running that some code on a Windows Server 2012 machine does not work. I have certain stored procedures with an OUTPUT parameter when executed on 2012 has the values truncated.
    For instance:
    Output parameter is set to return "SUCCESS", but was is received is "SUC"
    Ouput parameter is set to return "AllSet", but it returns "All"
    Output parameter is set to cast a NUMBER to a VARCHAR2 and the value is a 5 digit number, but only the first two digits are returned. Ex: "83976", but only "83" appears.
    The above takes place when run from Server 2012, but works fine from Server 2008 and Win 7.

Maybe you are looking for