FRM-40831 value too long

Hi am igeting this error in my Fri form if I increase the leangth in my the error property data still coming I increase it to 100, and the value'm selectiong have only 10 characters, am in the form of oracle 11 g

Alex wrote:

Hi am igeting this error in my Fri form if I increase the leangth in my the error property data still coming I increase it to 100, and the value'm selectiong have only 10 characters, am in the form of oracle 11 g

This is the type of data in the database and the length?

Hamid

Tags: Oracle Development

Similar Questions

  • Shuttle value too long for use in LOV sql cascading

    Hello

    On APEX 4.2.2.0.11 & Oracle 10.2.0.5.0:

    I have a shuttle service set up as well as a select list with of LOV cascading.

    The shuttle shows organization name and returns a list of the IDs of the colon separated.

    The selection list shows the so-called events belonging to the organizations selected in the shuttle.

    The selection list is implemented as LOV cascading with the shuttle as a parent element.

    This works fine as long as the length of the shuttle point value does not exceed 4000 characters.

    If so, the LOV - sql select list will give an ' ORA-01704: string literal too long "-error on the instr function ().

    This is the query:

    Select distinct TST. NAAM as display_value, TST.ID as return_value

    of the OTE ORGS

    Join the LIFO ADG ON (ADG. OTE_ID = OTE.ID)

    Join the DNR PART on (DNR. ADG_ID = ADG.ID)

    Join the TDR ON REGRET (TDR. DNR_ID = DNR.ID)

    Join the TEST TCT ON (TST.ID = RDT. TST_ID)

    where instr (': ' |: P1_ORG |) ':', ':' || OTE.ID | ') > 0

    order by 1

    Does anyone know how to make reference to the shuttle-value in sql, even if it is longer than 4000 characters?

    Well, I found a way to use LOVs cascading on page elements with values exceeding 4000 characters:

    Let's say I have a shuttle named P1_ORGANISATIE with "List of values" box, a dynamic LOV named "Source: lists of values Query" containing the value:

    Select NAAM as display_value, ID like return_value

    of NINEHAM

    order by 1

    If the number of records-NINEHAM is insufficient, the length of the value of P1_ORGANISATIE, which is a list of concatenated with colon separated digital ID, can exceed 4000 characters.

    Now suppose I have a list of selection called P1_TEST that is connected through "List of values"-> "En cascade LOV Parent article (s)" with P1_ORGANISATIE using a named LOV dynamics with "Source: lists of values Query" containing:

    Select distinct TST. NAAM as display_value, TST.ID as return_value

    of the OTE NINEHAM

    Join the AFDELINGEN ADG ON (ADG. OTE_ID = OTE.ID)

    Join the DEELNEMERS DNR ON (DNR. ADG_ID = ADG.ID)

    Join TESTDEELNEMERS TDR WE (TDR. DNR_ID = DNR.ID)

    Join TESTEN TST ON (TST.ID = RDT. TST_ID)

    where instr (":" |: P1_ORGANISATIE |) '':'', '':'' || OTE.ID | '':'') > 0

    order by 1

    In this case, when P1_ORGANISATIE exceeds 3998 characters, you'll get an "ORA-01704: string literal too long"-error and the P1_TEST will show an element called "undefined".

    A way around this is possible because for a named LOV, you can use a "function that returns a sql query" instead of a simple sql query. In other words, we can apply in the context of PL/SQL and thus have maximum for expressions of 32767 instead of 4000 characters. In addition, it is possible to use the two APEX_UTIL. STRING_TO_TABLE and APEX_COLLECTION.

    Setting "Source: lists of query values" on the LOV appointed to P1_TEST with the following code will work:

    DECLARE

    l_selected APEX_APPLICATION_GLOBAL. VC_ARR2;

    l_qry varchar2 (32767): =.

    "Select distinct TST. NAAM as display_value, TST.ID as return_value

    of the OTE NINEHAM

    Join the AFDELINGEN ADG ON (ADG. OTE_ID = OTE.ID)

    Join the DEELNEMERS DNR ON (DNR. ADG_ID = ADG.ID)

    Join TESTDEELNEMERS TDR WE (TDR. DNR_ID = DNR.ID)

    Join TESTEN TST ON (TST.ID = RDT. TST_ID)

    $1

    order by 1';

    BEGIN

    IF: P1_ORGANISATIE IS NULL

    OR LENGTH(:P1_ORGANISATIE)<=>

    THEN RETURN

    Replace (l_qry

    ,'$1'

    ,' where instr (":" |: P1_ORGANISATIE |) '':'', '':'' || OTE.ID | '':'') > 0'

    );

    ON THE OTHER

    l_selected: = APEX_UTIL. STRING_TO_TABLE(:P1_ORGANISATIE);

    APEX_COLLECTION. CREATE_OR_TRUNCATE_COLLECTION (p_collection_name-online 'ORGANISATIE_COLLECTIE');

    FOR id IN 1.l_selected.count

    LOOP

    APEX_COLLECTION.add_member (p_collection_name-online 'ORGANISATIE_COLLECTIE'

    p_n001-online to_number (l_selected (id))

    );

    END LOOP;

    RETURN

    Replace (l_qry

    ,'$1'

    ,'join apex_collections ON APC (APC. COLLECTION_NAME = "ORGANISATIE_COLLECTIE" AND APC. N001 = OTE.ID)"

    );

    END IF;

    END;

  • DeliveryCountry value is too long

    Payment by credit card has failed

    There was an error in credit card processing. If please correct this and try again.

    ERROR: An error occurred during processing of credit card
    The gateway response: 3129: DeliveryCountry value is too long.
    Please go back and correct this problem.

    This is the error, I keep coming during the presentation of delivery and billing details on the Fund.

    It caused at least a loss of sales today. Anyone know what is happening?

    Thanks for your help Sidney.

    This problem is solved now.

    It was a problem with Sage Pay, where their system rejected "United Kingdom" as a name that is too long for the 2 letters of the country code in the payment page. The thing is that I had entered "GB" as the only option even when selected and commented on the rest of the list of countries. Later, after uncomment the list of countries and by replacing the "GB" United Kingdom option in this list, it worked.

    Most likely a situation embarrassing coding mistake on my part, although everything seemed OK.

    Panic at the wire. All happy, that it works again.

  • Bug: Find/replace does not work if the statement contains the string is too long

    Hello

    in my sequence, I press Ctrl + F to open the Find dialog box and enter a string. All the checkboxes are checked 'Elements for search' and ' limit the search to "is not enabled.

    Now comes the finding it is only announcing the discovery in the main sequence.

    Other places in a sous-suite that are part of a labview vi action setting is not in the list. Also if I open the sequence and I'm looking at this place.

    If I create a comment in the subsequence containing the searchstring, then it is.

    When I open the properties of the action of labview and open the parameter that contains the string and click on check for errors, and then close all and supplementary search then the value lies.

    Is it possible that the variable is too long setting? It's about 200 characters and one thing very nested SationGlobals and the table and the TestSockets. Search string Dees is finally an arrayindex in this grand statement.

    It seems that this is the problem.

    Is this a known bug?

    Solved.

    There was an empty character at the end of the search string...

  • MS. error Combat Flight Simulator: invalid, too short, too long or protected player in writing.

    Try to install the version of MS Combat flight simulator 1998 on a Windows 7 system.

    Setup program opens and runs through until you choose an installation path.  It gives the default value:

    C:\Program Files (x 86) \Microsoft Games\Combat Flight Simulator

    It is said that it is a drive not valid, too short, too long or write protected.  Then, he gives an example of what it should be.  And it is exactly the same as above.  What I am doing wrong?

    Hello

    I suggest you to change the installation location of the game and check if that helps.

    Diana

    Microsoft Answers Support Engineer

    Visit our Microsoft answers feedback Forum and let us know what you think.

    If this post can help solve your problem, please click the 'Mark as answer' or 'Useful' at the top of this message. Marking a post as answer, or relatively useful, you help others find the answer more quickly.

  • Paper too long on the front

    On my new printer all-in-one HP 8610, I use A4 paper. However, whenever I try to print, whether front or front / back I get an error message saying "paper too long at Auto-duplex.  If I close the window, the printer prints normally, so it isn't a big problem, but I would be quit anyway.

    Hello @mussep,

    Thanks for getting back to me on this subject.

    Because this error appears when printing several programs on your computer, the e-all-in-one printer HP Officejet Pro 8610 there may be a problem within your printers Firmware Version of programming. Or, there may be a conflict between your Windows 7 computer and your printer HP Officejet driver. Can I please you follow the steps below to isolate this problem and fix it.

    Step 1: Make a copy:

    To make sure that printer hardware is working properly, I'll ask you to perform a copy on the front of your printer A4 paper. If the copy print correctly, without error messages on the printer or the paper feed issues, then we know that something on the computer is originally this printing error.

    How to copy on A4 paper:

    1. Please load a sheet of paper for the test copy either on the flat glass on your printer or in the ADF on top of your printer
    2. On the front screen of the printer, please press copy
    3. Then, tap the settings icon on the bottom of the screen
    4. Under copy settings tap paper size. Please make sure that it is set to A4
    5. Select set as new default values. Press Yes if prompted
    6. Please make a Black or a color copy

    -Source: How to copy

    • If this print-out successfully with no errors or problems paper, that the printer hardware is working properly. This seems to indicate that the problem you are having is caused by something on the computer. Can I please you proceed to the next step to resolve this problem.
    • If the copy fails to print correctly, the problem you are experiencing is caused by your printer. Maybe it's a problem within the internal Firmware programming in your printer. Essentially, the Firmware is the "brain" of your printer and control that made the printer and how the printer it. If there is a corruption in the internal programming of Firmware on your printer, it may cause the printer to performance issues. Can I have it please click hereto download the last Firmware update. Once the download is complete, you will see a prompt to "run" the update of the Firmware. Please allow this to run. The Firmware Update utility is now launched. Follow the prompts on the screen to 'send' the update of the Firmware for your printer. Once the update has been completed successfully please make another test copy to confirm if your machine now copy on A4 paper. If the copy is now accepted, please print from your computer to see if the problem is now resolved. If a copy still fails, please do not continue to troubleshoot at this time.

    Step 2: Uninstall the driver:

    If you use a USB cable connection between your computer and your HP Officejet, please unplug this cable now.

    1. Click on the Start menu
    2. Select all programs
    3. Select the HP folder
    4. Select HP Officejet
    5. Select Uninstall

    Please follow the prompts on the screen to complete the uninstallation. Once the uninstall is complete, proceed to the next step.

    Step 3: Delete the temporary files:

    1. Click on the Start menu
    2. In the box "search programs and files" located just above to start after you click on it, type %temp% , and then press enter on your keyboard
    3. When the Temp folder opens, select Ctrl + A at the same time on your keyboard. Everything in this folder will highlight now.
    4. Select the "delete" button on your keyboard. The Temp folder contains the temporary internet files. None of the actual files or folders on your computer will be affected by deleting Temp files. A Temp file should you will automatically get the pop up to 'jump' this point.
    5. Close the Temp folder when it is empty
    6. Right-click the recycling bin on your desktop and select empty recycling bin. Please proceed to the next step.

    Step 4: Install the device:

    1. Please click here to download the latest drivers for your HP Officejet.
    2. Once the download is complete, follow the prompts on the screen to install your printer
    3. If you use a USB cable connection, do not connect the USB cable until the installation program invites you to

    Once the installation is complete, please test print from your computer to confirm if the "too long in the Auto-Duplex document" error is resolved.

    Please reply to this message with the result of your troubleshooting. Good luck!

  • Cannot delete the file and the error is "the specified file is not valid or too long." Specify a different file name.

    Hello

    I have filenames with weird values inside (created by Application software).
    Here is an example:
    GIBtmpphoto0_11:27:16.145.png

    When I try to delete it, I have the following error:
    The specified file is not valid or too long. Specify a different file name.

    And it takes a lot of space in my hard drive.

    How is it possible to remove it?

    Thank you.
    Best regards
    Marc

    Original title: delete files with weird names

    Hello

    My corrupt files are found on a disk of material on my computer.
    I have re-formatted the full disk to remove these files.

    Best regards
    Marc

  • Classic mistake FDM: input parameter too long.

    Hi I created a file for download in the following format:

    Account, entity, Category1, Category2, view, quantity, value, currency, Version

    Data, S71000001, EntityA, No_Category1, No_Category2, month, RC, work,-167339

    But I meet entry error parameter too long when you download it.

    Can I know what could be the possible cause of the error?

    Thank you

    Eddy

    Hi all

    The error is resolved by changing the layout of the data file.

    Thanks for your help.

    Kind regards

    CW

  • Literal string is too long and too small string buffer

    Hello

    Can someone please explain what the difference is between these two errors.

    The maximum size of the character in SQL is 4000 and PL/SQL its 32 k. So if a string literal exceeds this limit "string literal too long" error message is triggered by oracle.

    Here is an example

    SQL> select 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      2  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      4  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      6  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      8  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     10  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     11  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     12  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     13  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     14  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     15  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     16  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     17  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     18  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     19  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     20  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     21  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     22  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     23  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     24  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     25  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     26  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     27  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     28  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     29  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     30  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     31  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' str
     32    from dual;
    select 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
           *
    ERROR at line 1:
    ORA-01704: string literal too long
    

    Now, when you try to set a string variable with a value greater than the defined size, you get "too small character string buffer.

    Here is an example

    SQL> declare
      2    var varchar2(1);
      3  begin
      4    var := 'aa';
      5  end;
      6  /
    declare
    *
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at line 4
    

    Oracle error message there two of each, one for SQL and one for PL/SQL.

    ORA-19011: character string buffer too small

    Cause : the result of the chain asked is too big to go back

    Action : get the result like a lob instead

    ORA-01704: string literal too long

    Cause : the string literal is longer than 4000 characters.

    Action : use a string literal of more than 4,000 characters. Longer values can only be entered using bind variables.

    PLS-01905: character string buffer too small

    Cause : an error occurred while moving a string from a source to a destination. This error occurs if, for example, an attempt is made to move an a string of 10 characters into a buffer of 1 character. The cause of this error may not always be obvious. For example, the following will cause this error: a varchar2 (1); b the number; b: = 10; a: = b; An error occurs because an implicit conversion causes the number 10 to become the string '10', which does not fit in memory buffer of characters of 1 assigned to the variable.

    Action : first, look for the character string assignment statements where the size of the buffer is incompatible. If there is none found, then consider the case of an implicit conversion shown in the example above.

    PLS-00172: string literal too long

    Cause : the string literal is longer than 32767octets.

    Action : use a string literal of at most 32767octets.

  • Executed scripts takes too long

    Hello

    I hope for more help with improvement / reducing the amount of time required to get a script to run. I have provided the following script to our CMDB group but they say it take too long to run (full day).

    I already use the get-view option to extract the details. Maybe someone can advise how they would improve this script. For the record, we have 2000 + vm in our environment.

    Script is attached.

    Any help is very appreciated.

    Hello, VM_.

    Well, nobody likes a slow script, that's for sure.  And a script of the day?  Double boo to that.

    I had a quick glance, and there were some spots of improvement.  I have them made here:

    Add-PSSnapin VMware.VimAutomation.Core
    
    function Get-VMSerial {  ## rewrote to take UUID; already being gotten in properties below  # param([VMware.VimAutomation.ViCore.Impl.V1.Inventory.VirtualMachineImpl]$VirtualMachine)  # $s = ($VirtualMachine.ExtensionData.Config.Uuid).Replace("-", "")  param([string]$Uuid)  $s = $Uuid.Replace("-", "")  $Uuid = "VMware-"  for ($i = 0; $i -lt $s.Length; $i += 2)  {    $Uuid += ("{0:x2}" -f [byte]("0x" + $s.Substring($i, 2)))    if ($Uuid.Length -eq 30) { $Uuid += "-" } else { $Uuid += " " }  }
    
      return $Uuid.TrimEnd()}
    
    # Connect to vcenterConnect-VIServer vcenter
    
    #Gathering VM settingsWrite-Verbose -Verbose "Gathering VM statistics"$VMReport = @()$Count = 0
    
    ## no need to use Get-VM#Get-VM | % {## moved outside of the Foreach-Object scriptblock, so this Get-View only gets called once, not 2000+ times (not once per VM, just once at all)$filter = @{"Config.Template"="false"}Get-View -ViewType VirtualMachine -Filter $filter -Property Name,Guest.HostName,summary.config.numcpu,summary.config.memorysizemb,summary.config.numEthernetCards,Summary.Config.NumVirtualDisks,Config.Uuid,Parent,Guest.GuestFamily,config.tools.toolsversion,guest.toolsstatus,config.Version,Config.ChangeTrackingEnabled,Datastore,AvailableField,Value | %{    ## $vm is the View of the current VM    $vm = $_    ## not used -- removed it    # $CustomDetails = Get-VM $_ | Select -ExpandProperty customfields    ## rewrote to use Get-View or UpdateViewData()    # $LunTierStringArray = Get-VM $_ | Get-Datastore    $LunTierStringArray = Get-View -Property Name -Id $vm.Datastore    $LunTierString = $LunTierStringArray.Name -split "_"    $vms = "" | Select-Object VMName, Cluster, DnsName, TotalCPU, TotalMemory, TotalNics, Disks, DiskTier, SDF, UUID, Folder, OS, ToolsVersion, ToolsStatus, HardwareVersion, CBT, Serial    $vms.VMName = $vm.Name    ## rewrote to use UpdateViewData()    # $vms.Cluster = $(Get-vm $_ | Get-cluster).Name    $vms.Cluster = &{$vm.UpdateViewData("Runtime.Host.Parent.Name"); $vm.Runtime.LinkedView.Host.LinkedView.Parent.Name}    $vms.DnsName = $vm.Guest.HostName    $vms.TotalCPU = $vm.summary.config.numcpu    $vms.TotalMemory = $vm.summary.config.memorysizemb    $vms.TotalNics = $vm.summary.config.numEthernetCards    $vms.Disks = $vm.Summary.Config.NumVirtualDisks    $vms.DiskTier = $LunTierString[0]    ## getting this in some other way, from the    # $vms.SDF = ($_ | Get-Annotation -CustomAttribute 'School/Division/Faculty').Value    $vms.SDF = & {$intCustomAttributeKey = ($vm.AvailableField | ?{$_.Name -eq "School/Division/Faculty"}).Key; ($vm.Value | ?{$_.Key -eq $intCustomAttributeKey}).Value}    $vms.UUID = $vm.Config.Uuid    ## add -Property Name, though, with " | Out-Null", does this even work?    # $current = Get-View $vm.Parent | Out-Null    $current = Get-View $vm.Parent -Property Name,Parent -ErrorAction:SilentlyContinue    $path = $vm.Name    do {         $parent = $current         if($parent.Name -ne "vm"){$path =  $parent.Name + "\" + $path}         ## add -Property Name, though, with " | Out-Null", does this even work?         $current = if ($null -ne $current.Parent) {Get-View $current.Parent -Property Name,Parent -ErrorAction:SilentlyContinue}    } while ($current.Parent -ne $null)    $vms.Folder = $path    $vms.OS = $vm.Guest.GuestFamily    $vms.ToolsVersion = $vm.config.tools.toolsversion    $vms.ToolsStatus = $vm.guest.toolsstatus    $vms.HardwareVersion = $vm.config.Version    $vms.CBT = $vm.Config.ChangeTrackingEnabled    $vms.Serial = Get-VMSerial -Uuid $vm.Config.Uuid    $VMReport += $vms    $Count++    ## added Write-Verbose so that the pipeline does not get polluted with strings (for the day that this code is returning objects for further manipulation down the pipeline, instead of going straight to CSV)  Write-Verbose -Verbose $Count}#Output$VMReport | Export-Csv vcenter_vm_report.csv_tmp -NoTypeInformation -UseCultureCopy-Item vcenter_vm_report.csv_tmp vcenter_vm_report.csv
    

    I commented on the changes I made (and why) and commented on by the code I replaced.  Give a run and see if it is not faster for you / your CMDB crew.

    Message has been edited by Matt Boren on February 24, 2015: correction of the piece that gets the path of the inventory of the VM (were able only to return a parent level previously) minor

  • Forms 10g + UTF8 - Item displays # when he's happy is too long

    Hello

    I am facing a strange behavior with Forms 10 g and NLS_LANG = UTF8.

    DB 11G withcharset in AL32UTF8 on Linux

    Forms 10G on Linux

    We are currently upgrading our DB 10 G DB 11 G + UTF8 form.

    After adaptation data DB 10G and 11G, we changed sementics BYTE in CHAR columns in DB 11 G.

    Migration worked well.

    Now we try to connect to our application in the form of 10G to the new DB 11 G + UTF8.

    First we were faced with the error ORA-01461 "can bind a long value only for insert in a long column".

    To resolve this error, we have clarified the NLS_LANG = american_america.utf8 in default.env.

    This problem is solved now.

    We have specified the following parameters when compiling:

    NLS_LANG = AMERICAN_AMERICA. UTF8

    Export NLS_LANG

    NLS_LENGTH_SEMANTICS = CHAR

    Export NLS_LENGTH_SEMANTICS

    The application works fine except a few ITEMs that display # when their content is too long.

    For example with a Varchar2 ELEMENT (5) length_semantics = NULL (if the compiler uses the NLS_LENGTH_SEMANTICS specified during compilation).

    -When I fill it with "xxxxx" it works very well.

    -When I fill it with "xxxxe", it displays "#". The ELEMENT behaves as in Excel when the cell data cannot be displayed as a whole.

    Any idea on how I can avoid this behavior?

    Thanks in advance.

    Tim.

    There is a bug in forms 10.1.2.3 for when the length of an element in BYTES is greater than the length of the CHAR data # are displayed.

    =>

    Length ('xxxxx') = lengthb ('xxxxx')

    but

    Length ('xxxxa')<>

    so you will get #.

    There is a single patch for this what number I do not remember. The patch is packaged in the latest available patch for forms #9593176 and #13095466 which will also give you the benefits of being able to run your forms 10 g with Java7 (even if she is not certified).

    see you soon

  • "ORA - 01489:result of concatenation of string is too long" (the chain is small)

    Hello

    I am using the listagg as follows function but get ORA-01489: result of concatenating string is too long.

    SELECT LOCATIONID, LISTAGG (TO_CHAR (WHICH |)) ',' || (POSITIONY), ',') ADR WITHIN GROUP (ORDER BY SEQUENCENUMBER)
    OF POSITIONPOINTS
    GROUP BY LOCATIONID
    AFTER HAVING COUNT (SEQUENCENUMBER) = 20;

    When I try to run this in Oracle Sql Developer, he shows the lines first in 1550, then reports the error ORA-01489. In total 2612 lines must be returned, all values in ADR having a length of approximately 440 characters. An example of one of the lines that developer Sql is back is:

    22372682 410434.801,551142.885,410434.784,551142.875,410439.801,551141.922,410439.991,551141.795,410439.293,551138.303,410438.531,551137.668,410429.768,551134.302,410427.228,551133.159,410426.212,551132.143,410425.196,551129.667,410421.957,551114.3,410414.972,551081.28,410413.639,551076.136,410412.94,551073.66,410412.94,551072.326,410413.639,551071.628,410415.798,551070.612,410416.369,551069.469,410416.877,551068.834,410433.23,551061.795

    There are a few LocationIDs in table PositionPoints that have more than 20 entries (max is 254), and for these lines, I want the concatenated string more than the maximum of 4000 characters. However, where count (sequencenumber) = 20, the length of the concatenated string would be less than 500. Oracle running concatenations even for places that I've excluded with my HAVING clause and an error on these?

    I tried to run the query at the time Oracle Sql Developer and SQL Plus.

    Would be grateful if someone could shed some light on this issue.

    Thank you

    Ronnie m says:
    Oracle running concatenations even for places that I've excluded with my HAVING clause and an error on these?

    Yes, that's the explanation.
    HAVING is not WHERE it is applied after the grouping is performed.

  • Addition of virtual column: ORA-12899: value too large for column

    I am using Oracle 11g, OS Win7, SQL Developer

    I'm trying to add the virtual column to my test table, but get ORA-12899: value too large for column error. Here are the details.
    Can someone help me in this?
    CREATE TABLE test_reg_exp
    (col1 VARCHAR2(100));
    
    INSERT INTO test_reg_exp (col1) VALUES ('ABCD_EFGH');
    INSERT INTO test_reg_exp (col1) VALUES ('ABCDE_ABC');
    INSERT INTO test_reg_exp (col1) VALUES ('WXYZ_ABCD');
    INSERT INTO test_reg_exp (col1) VALUES ('ABCDE_PQRS');
    INSERT INTO test_reg_exp (col1) VALUES ('ABCD_WXYZ');
    ALTER TABLE test_reg_exp
    ADD (col2 VARCHAR2(100) GENERATED ALWAYS AS (REGEXP_REPLACE (col1, '^ABCD[A-Z]*_')));
    
    SQL Error: ORA-12899: value too large for column "COL2" (actual: 100, maximum: 400)
    12899. 00000 -  "value too large for column %s (actual: %s, maximum: %s)"
    *Cause:    An attempt was made to insert or update a column with a value
               which is too wide for the width of the destination column.
               The name of the column is given, along with the actual width
               of the value, and the maximum allowed width of the column.
               Note that widths are reported in characters if character length
               semantics are in effect for the column, otherwise widths are
               reported in bytes.
    *Action:   Examine the SQL statement for correctness.  Check source
               and destination column data types.
               Either make the destination column wider, or use a subset
               of the source column (i.e. use substring).
    When I try to, I get the correct results:
    SELECT col1, (REGEXP_REPLACE (col1, '^ABCD[A-Z]*_'))
    FROM test_reg_exp;
    Thank you.

    Yes, RP, it works if you give col2 size > = 400.

    @Northwest - could you please test the same w/o having a clause of regex in col2?
    I have a doubt about using a REGULAR expression in this case Dynamics col.

    Refer to this (might help) - http://www.oracle-base.com/articles/11g/virtual-columns-11gr1.php
    Below excerpt from above link... see if that helps...
    >
    Notes and restrictions on the virtual columns include:

    The indexes defined on the virtual columns are equivalent to a function-based index.
    Virtual columns can be referenced in the updates and deletions WHERE clause, but they cannot be manipulated by DML.
    The tables containing virtual columns may still be eligible for result caching.
    Functions in expressions must be deterministic when the table is created, but can then be recompiled and non-deterministic without for as much invalidate the virtual column. In such cases, the following steps must be taken after the function is recompiled:
    Constraint on the virtual column must be disabled and re-enabled.
    On the virtual column indexes must be rebuilt.
    Materialized views that access the virtual column must be fully refreshed.
    The result cache must be flushed if the virtual column acceded to the request (s).
    Statistical table must be regathered.
    The virtual columns are not supported for the organized and external object in index, cluster or temporary tables.
    The expression used in the virtual column definition has the following restrictions:
    It cannot refer to another virtual column by name.
    It can refer to the columns defined in the same table.
    If it refers to a deterministic user-defined function, it cannot be used as a partitioning key column.
    The result of the expression must be a scalar value. It cannot return that an Oracle supplied the data type, a type defined by the user, LOB or LONG RAW.
    >

    Published by: Vanessa B on October 16, 2012 23:48

    Published by: Vanessa B on October 16, 2012 23:54

  • Unexpected error "the result of the concatenation of string is too long."

    Hello

    I use the Oracle 11.2.0 database.

    When querying my database with a common table expression that concatenates strings VARCHAR2, I get an error ORA-01489 even if I suspect that I am concatenating more 4000 characters.

    To be more precise, I have a table entity which basically stores the XML elements, including their parent element and their position of brother among his brothers and sisters. The CREATE statement for this table is listed below.

    CREATE TABLE (entity
    ID NUMBER (10,0) NOT NULL PRIMARY KEY,
    Name VARCHAR2 (100) NOT NULL,
    Parent NUMBER (10,0) REFERENCES Entity (ID),
    Sibling_Pos NUMBER (2.0) DEFAULT 0
    )
    ;

    Now, I would like for all items to be concatenated with their ancestors elements to a structure as follows:

    "(/ root_element(sibling_pos)/.../ancestor_element(sibling_pos)/parent_element(sibling_pos)/current_element(sibling_pos).
    (where root_element, ancestor_element, parent_element and current_element are fair values in the name column of the table of the entity)

    To do this, I use a common table expression that concatenates the values of name and sibling_pos as shown below:

    WITH entity_cte (lvl, id, path) as)
    SELECT 1 AS lvl, id, ' / '. name | ' (0' | sibling_pos |) ')' IN the path
    OF the entity
    WHERE parent IS NULL
    UNION () ALL THE
    SELECT lvl + 1 lvl, e.id, entity_cte.path | '/' || e.Name | ' (': cast (e.sibling_pos AS VARCHAR2 (2)) |) ')' IN the path
    Of entity_cte, e entity
    WHERE entity_cte.id = e.parent
    )
    )
    SELECT lvl, id, path
    Of e entity_cte
    ;

    After the insertion of certain values, I get the error ORA-01489, the result of concatenating string is too long. The maximum is called as 4,000 characters for VARCHAR2 in the oracle documentation and various Web sites. Of course, it is clear to me just by using the common table like that expression, I could run in such an error. However, because of the structure of XML documents, I doubted that channels resulting would be since a long time more than 4000 characters.

    So I reorganized my query to count the characters to concatenate instead of actually concatenate. The query is listed below, that the changes are marked in "BOLD":

    WITH entity_cte (lvl, id, path) as)
    SELECT 1 lvl, id, length ('/ ' | name |)  ' (0' | sibling_pos |) ') IN the path
    OF the entity
    WHERE parent IS NULL
    UNION () ALL THE
    SELECT lvl 1 lvl, e.id, AS entity_cte.path + length ('/ ' | e.name |) ' (': cast (e.sibling_pos AS VARCHAR2 (2)) |) ') IN the path
    Of entity_cte, e entity
    WHERE entity_cte.id = e.parent
    )
    )
    SELECT lvl, id, path
    Of e entity_cte
    Way to ORDER BY DESC
    ;

    The result of the query gives me a maximum length of 319 characters.

    To be sure, I also checked the maximum level (indicated by the column named lvl in the common table expression), which means that the maximum number of items in my way (the concatenated string). The result is 18. As I use VARCHAR2 (100) for the name column and add 5 charcaters in each level, the maximum number of characters expected to 18 levels would be 1890.

    So, now I wonder is the ORA-01489 may have triggered another reason? Or is there something else I'm missing?
    Any help would be appreciated. Other suggestions to track down the error are more than welcome. Thanks in advance.

    I found by trial and error that launch the query anchor seems to work, but I don't know why, then you can try this.

    with entity_cte (lvl, id, path)
    as
        (
        select
            1 lvl,
            id,
            cast('/' || name || '(0' || sibling_pos || ')' as varchar2(4000))  path
        from
            entity
        where
            parent is null
        union all
        select
            lvl + 1 lvl,
            e.id,
            entity_cte.path || '/' || e.name || '(' || cast(e.sibling_pos as varchar2(2)) || ')' path
        from
            entity_cte,
            entity e
        where
            entity_cte.id = e.parent
        )
    select lvl, id, path
    from entity_cte e
    ;
    

    Not tested since no table definitions or examples of data provided.

  • WAITED TOO LONG FOR A CACHE LINE ENQUEUE LOCK!

    Hi all

    Ora10g

    All of a sudden this afternoon users have complained that they are unable to connect to the database, I tried to log in and was able to confirm that suspended connection.

    I checked the alerts log and I found these:
    Thread 1 advanced to log sequence 11682
      Current log# 3 seq# 11682 mem# 0: D:\ORACLE\ORADATA\TURBDV2\REDO03.LOG
    Mon Jun 13 09:00:15 2011
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jun 13 10:00:27 2011
    Thread 1 advanced to log sequence 11683
      Current log# 1 seq# 11683 mem# 0: D:\ORACLE\ORADATA\TURBDV2\REDO01.LOG
    Mon Jun 13 13:15:50 2011
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jun 13 13:51:28 2011
    
    WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! pid=27
    System State dumped to trace file c:\oracle\admin\turbdv2\udump\turbdv2_ora_7668.trc Mon Jun 13 14:50:44 2011 WARNING: inbound connection timed out (ORA-3136) Mon Jun 13 15:23:10 2011
    How to solve this error please...

    KinsaKaUy? wrote:
    I checked the alerts log and I found these:

    
    Thread 1 advanced to log sequence 11682
    Current log# 3 seq# 11682 mem# 0: D:\ORACLE\ORADATA\TURBDV2\REDO03.LOG
    Mon Jun 13 09:00:15 2011
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jun 13 10:00:27 2011
    Thread 1 advanced to log sequence 11683
    Current log# 1 seq# 11683 mem# 0: D:\ORACLE\ORADATA\TURBDV2\REDO01.LOG
    Mon Jun 13 13:15:50 2011
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jun 13 13:51:28 2011
    
    
    WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! pid=27

    System State dumped to trace file c:\oracle\admin\turbdv2\udump\turbdv2_ora_7668.trc
    Mon Jun 13 14:50:44 2011
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jun 13 15:23:10 2011
    

    How do i resolve this error please....

    Well looking at alert.log, you encountered two issue a)ORA-3136 and b) WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK

    For a) ORA-3136 , please follow the below metalink note which explains about the resolution for this. You might need to increase SQLNET.INBOUND_CONNECT_TIMEOUT from 60 to slight higher.
    Following the note from MOS
    Troubleshooting ORA-3136: WARNING Inbound Connection Timed Out [ID 465043.1]

    
    The default value of 60 seconds is good enough in most conditions for the database server to authenticate a client connection. If it is taking longer, then it's worth checking the following items before implementing the workaround: 
    
    1. Check whether local connection on the database server is successful & quick.
    2. If local connections are quick ,then check for underlying network delay with the help of your network administrator.
    3. Check whether your Database performance has degraded in anyway.
    4. Check alert log for any critical errors for eg, ORA-600 or ORA-7445 and get them  resolved first. 
    

    As you said that users could not connect to the database, so above may be the reasons for what you need at the Fund.

    Second, you got the warning message "WHEREAS TOO LONG for A LINE CACHE ENQUEUE LOCK", which is also linked to the shared pool.

    Make a small conclusion on two question above, it seems that your shared pool size is not enough. For this you must check AWR reports during this difficult period and confirmation that there is not any event of related waiting for shared pool.

Maybe you are looking for

  • Firefox beta 35. not ready for prime time.

    I spent all weekend trying to get the beta version of Firefox 35 to work. What I found is that * extensions of all it does not work with the exception of the maintenance of the premises. I can't download any extension that Firefox is so famous. The e

  • 663213-001 - USB 3.0

    As for the web site of hp http://partsurfer.hp.com/ShowPhoto.aspx?partnumber=663213-001 I would like to know the use of the small adapter (male 9 pin/blue connector as pictured) is there any part number for this card? and you know if I can order this

  • OfficeJet pro 8000

    I installed a new cartridge black hp 940xl and make the message that the cartridge is not installed. What should I do?

  • Maxtor One Touch Plus 4 500 GB external hard drive no longer works.

    Okay, so, I got this hd for about a year now. Never had any problems with it, and I also have a 1 TB WD external hd. The WD it still works perfectly. However, the Maxtor suddenly stop working on me on 30/06/10 while I was using it. I have music files

  • Movement of my software to a new computer

    I bought Adobe's first Pro and downloaded on a machine.  I want to know how to remove a computer and move it to another or to use my license by using the cloud.