Form 10G - Saving Blob on server applications using Java.

Hello

Forms 10g using, I'm looking for a solution to retrieve the Blob from my database (10 gr 2) and save it to the application server on the "Oraclehome\Apache\Apache\htdocs" directory so that users can download/view it via the browser.
first of all, I used WebUtil to download files on the client and it worked perfectly.
However, for some reason, my client does not want to download the file on his client.

So here I am, I've created a java class called "saveBlobToFile" that receives a string as a parameter to write it to a file.
I imported this class in forms where I used the following code.
Everything works fine, but I need to convert my RAW in HEX to move to Java string and converted again to a Byte [].
I order to speed up the process, I would avoid these 2 conversions.
Don't you think that it is possible to move the RAW format (which is just a stream of bytes) to java? Either by converting it to ORA_JAVA. JACOB byte? Either passing as an object and cast in java to a byte array?

Thanks in advance,
Tim.

PS: I based my development on this article
https://support.Oracle.com/CSP/main/article?cmd=show & type = not & ID = 70110.1


/***************
FORMS
***************/
DECLARE
BLOB MY_BLOB;
RAW BUFFER (32767).
DIRECTORY OF THE AMT: = 10000; -32767;
INTEGER POS: = 1;
MYBLOBFILE ORA_JAVA. JOBJECT;
BEGIN
SELECT DOCUMENT
IN MY_BLOB
OF WRK_LOB_STORE
WHERE ID = 1;

LOOP
DBMS_LOB. READ (MY_BLOB, AMT, POS, BUFFER);

IF POS = 1 THEN
MYBLOBFILE: = SAVEBLOBTOFILE. NEW ();
SAVEBLOBTOFILE. WRITETOFILE (MYBLOBFILE, "C:\test.txt", RAWTOHEX (BUFFER));
ON THE OTHER
SAVEBLOBTOFILE. APPENDTOFILE (MYBLOBFILE, "C:\test.txt", RAWTOHEX (BUFFER));
END IF;

WHEN the AMT RELEASE < 10000;
POS: = POS + AMT;
END LOOP;
END;

/***************
JAVA
****************/

package saveblobtofile;

to import java.io.FileNotFoundException;
to import java.io.FileOutputStream;
import java.io.IOException;

public class saveBlobToFile {}

private FileOutputStream fio;

public saveBlobToFile() {}
}

' public void writeToFile (String fileName, String, stringBuffer) survey FileNotFoundException.
IOException {}

FIO = new FileOutputStream (fileName);
FIO. Write (hexStringToByteArray (stringBuffer));
FIO. Close();

}

' Public Sub appendToFile (String fileName, String, stringBuffer) throws FileNotFoundException,.
IOException {}

FIO = new FileOutputStream (fileName, true);
FIO. Write (hexStringToByteArray (stringBuffer));
FIO. Close();

}

public static ubyte [] hexStringToByteArray (String s) {}
int len = s.length ();
Byte [] = new ubyte data [len / 2];
for (int i = 0; i < len; I += 2) {}
data [I / 2] = (byte) ((Character.digit (s.charAt (i), 16) < < 4))
+ Character.digit (s.charAt(i+1), 16));
}
return data;
}


Public Shared Sub main (String [] args) {}
saveBlobToFile saveBlobToFile = new saveBlobToFile();
}
}

A very simple solution is to 'adjust' the WEBUTIL_FILETRANSFER package and create a new procedure DB_TO_AS by combining the existing DB_TO_CLIENT and procedure CLIENT_TO_AS (withou the intermediate step to save the file on the client)

Tags: Oracle Development

Similar Questions

  • Application using Java SDK 5.0 compatible with the lower SDK version?

    Hello

    I wanted to know if I'm developing an application using the Blackberry Java SDK 5.0, it would work on slot version 4.3 or 4.2.1? If the current application has features not available on the previous version of course.

    I mean, if I develop an application of basic as a HelloWorld with SDK 5.0, this app works on a phone with SDK 4.2.1?

    Thank you

    Damien.

    The only time where I tried it, I received an error of compatilbility so I would say not in my experience.

    My suggestion is to build with backward compatibility in mind and remember that what you build for 4.2 will work in 5.0 and so on.

  • PartialTriggers application using java code?

    We can perform a partial Trigger on a component using java code?

    For example,.
    I have a textBox element and an attribute of partialTriggers link commandButton.If in the text box for the commandButton control, he gets the renderer every time I click the commandButton control.

    Can I get the same thing by writing some piece of java code inside the listener of the CommandButton action?

    Kind regards
    Lokesh.

    If you bind the element to an attribute of bean (i.e. attrXYZ), you can use

    RequestContext.getCurrentInstance().addPartialTarget(attrXYZ);
    

    in the listener to update it.

    Timo

  • Creating folder on the server applications using webutil.

    Hello

    I use this feature of webutil to transfer the file from the client to the application server.
    i.e.
    webutil_file_transfer.client_to_as

    File is the transfer. But now I want to create the folder when running on the application server.

    For example, my file is now transering to C:\temp\. I want to create folder to the runtime server-side shows while I transfer the file.
    is it possible. If Yes please let me know as soon as possible.


    Thank you
    Kam

    Technically, using d2kwutil, it has been used in client/server 6i only is not supported. Creating a directory on the server can be done in different ways. The method chosen will depend on what domain you are stronger and how strict is the security of the server.

    OPTION 1:
    Use the HOST command to run a simple DOS command. You can test to see if the directory already exists in a similar way. Example:

    -- Does directory exist?
    Declare
         WinCdCmd varchar2(3000) := 'cmd /C CD';
         cmd varchar2(2000);
    
         -- value of :path should be something like C:\ or C:\somedirectory
         searchPath varchar2(1000) := :path;
    Begin
    
    -- Be sure to add quotes around the path name if it includes blank spaces.
       cmd := WinCdCmd||' "'||searchPath || '"';
    
       HOST (cmd,no_screen);
       IF NOT form_success THEN
    
          -- Directory was not found.  Do what is necessary to create directory here ...
          HOST ('mkdir "' || :path || '"',NO_SCREEN);
    
          raise form_trigger_failure;
    
       END IF;
    
      message ('Directory found.');
      message ('Directory found.');
      /*
      ... Directory was found so do something with it here ...
      */
    End; 
    

    OPTION 2:
    Write the necessary code in java. Then use the imported forms Java functionality to call java code. You will find examples on the Internet (e.g., Google)

    There may be other options, but option 1 above is probably the easiest to manage. It may be necessary to add additional error handling, but this will depend on your needs.

  • Failed to create the connection to the server application using jdev

    Hi"

    I'm unable to create the connection to the server using JDeveloper 10.1.3.1 version after "configuration Service 10.1.3.1.0 with 10.1.2 Oracle Internet application Identity

    Directory"I followed" Guide the administrator Oracle® BPEL Process Manager 10 g (10.1.3.1.0) "part number B28982-03".
    URL-> "http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/service_config.htm#BABIBGFF".

    I was successfully able to integrate and capable "2.1.3.3 step 3: the Oracle Internet Directory test Configuration.

    But now when I try to establish a new connection to the application server with JDeveloper it gives below error.

    error: No process OC4J up AS instance identified by field: opmn oc4j_soa + oc4j-hostname-6003-default

    Please advice,

    Thank you
    Yatan

    Published by: Yatan on June 30, 2009 15:05

    What is the result of opmnctl status - app? You give the right opmn... other datails as and IS &?

  • Sync phone to PC Client/Server applications use what security group to access the files on PC Win 7

    Programs of client server that connects to the computer from a phone and store data on the PC as the synchronization programs have what user ID and are able to write to the disk by security group file permissions. Users authenticated Internet Explorer, system, administrators, customer ID current user appears on the phone and must be enabled (admin) and the password entered to connect.  If the customer is logged as administrator? How can there be two users with the same user id?  One by the PC and the other on the phone.  If the phone connects the PC as a user in this group what id permissions?

    Question 2: If I agree a technician to fix it to my PC and fix it, what is it connected as? and what group permissions is using?  How to protect against the connection later?

    Thank you

    This issue is beyond the scope of this site and must be placed on Technet or MSDN
  • Applications using Java API 11 g MRI are precarious?

    Hello

    I was reading "Developers Guide for Oracle 11g IRM server" and I found this:

    Cryptography keys: an application that uses the Java API of MRI has the ability to get sealed content Cryptography keys. The MRI Java API stores these keys in memory of the calling process, so that they are used. The MRI Java API debugging, or do a memory dump could compromise the key material. Do not use MRI Java API if the environment in which the application runs is loose or not reliable (for example, a laptop).

    HotFolders and IRM Wrapper using MRI Java API, aren't they? Does this mean that these applications are not secure? I install these applications in a real environment. However, provide advice to guide doubt me.

    Thanks in advance.

    The documentation is currently fairly conservative.

    Re: Hot issues. If HF is configured to use the Java API, then it is true that the keys will be temporarily stored in its memory and Java is more susceptible to reverse engineering, say, C++. But the hot issues in use of production will generally be an application on the server side and not work on laptops to the end user. So the access to this application of HF running (and its own encrypted cache) can be fixed by using normal operating system access controls. If you are always worried about it, then do not use the API, use default web services. In this case no key material is always sent to the HF and all the sealing is made by the IRM server.

    Re: Wrapper. It does not use the Java API if never receives or hiding of key material.

    HTH,

    Martin

  • WebService application using java for beginner?

    Hi all.

    I am beginner in java and netbeans.
    before, im using php in the programming code...

    My question is how to configure the database for netbeans, how to run an application in the browser...
    example of application is as web Commerce.

    hope everyone of you can help me solve this problem. tQ

    Buy yourself a book. This isn't something you can learn on a forum. And Web services and web apps are not for beginners. Took me about 6 years of Java before that I've never done a web service and more than 10 before I did a web - app, but that was certainly more to be overtaken by other possibilities. However, it is definitely a lot to learn: HTML to start, then the Servlet specification, then selection of a stack of technology, for example, JSF, GWT, JSP, Struts,...

    Your questions don't make sense. NetBeans and databases have virtually nothing to do with the other. The applications do not run in web browsers, unless you count applets and ActiveX, that are not part of most web applications. You must also decide if you're talking about web apps, which have a large component of oriented browser or Web services, which provide an API based on SOAP to other applications.

  • Migrating Forms 10g GR 11, 2 different host

    Hi all

    I'm Migrating Forms 10 g to 11 GR 2. I read a document for upgrading forms 10g to 11 GR 2, but there is no comment about the different host upgrade.

    Also, there is only one way for the upgrade. Who is using "upgrade wizard".

    Currently, here is my situation.

    1. I use forms 10g now on the server A.
    2. I installed 11 GR 2 forms on server B. It works well.
    3. There are a few files of forms compiled on ServerA.
    4. I want to migrate these forms and the configuration files in the server A to Server B.

    If I can't use "upgrade wizard", I just copy the configuration files two server (formsweb.cfg and default.env) and paste the B server configuration files. But I think that it is not good idea to migrate.

    Is there something else easy way and security for the upgrade.

    Please answer to me thanks!

    Let me start with the urgent comment: do NOT copy the configuration of earlier versions and drop them in the new environment. It's a bad idea for many reasons.  The most obvious is because new version has new settings and changes, some of which are required.

    I hope that, in your environment to version 10 you does not alter the [default] section of formsweb.cfg.  If this is the case, then you can easily copy your sections in the file of the new version.  However, before you do anything like that, make sure that you stop the Server Admin v11 and Managed Server (WLS_FORMS).  Don't try to do it with them running or your changes likely will have lost to ignored.  The default.env should be similar.  You can replace the one-for-one entries, but do not replace the entries found in the file.  Thus, for example, you can copy your old FORMS_PATH and drop it into the new file.  Comment out the existing and use your instead.  And so on.

    OK, we can all calm down now.

    The next thing to address is this statement "...". compiled form files on server A... ».  You can also copy forms of update modules / generated from one version to the other.  You need to rebuild 'X' (fmx, mmx, plx) of files in the new environment, using the new compiler.

    As for using the upgrade wizard, there are some limitations to use, needing to be on the same machine.  However, despite everything, my recommendation is that not use you it anyway.  In most cases, you will have more success and much easier to maintain the environment if you do things manually.  AU is especially useful when you have significant customizations and complex throughout the battery (SST, Web Cache, forms, reports, etc.).  For typical configuration changes, manually create the new that's going to be the way to go.  It will give you also a chance to clean by removing changes made previously which are no longer needed.

  • Cancel the deployment of a Web application using a Java method or call

    Hi, I have an application that is running on weblogic I want to cancel the deployment using a Java method or a call.
    Is it possible to do it with a specific API to weblogic or something like?
    Thank you!

    Hi CarolinaCunha,

    Please visit the following link to cancel the deployment of Applications using the Java method:

    http://jaysensharma.WordPress.com/2010/01/15/Undeploying-application-using-Java-method-JMX/

    Thank you
    Jay SenSharma

  • Duration of sizing of the application windows (forms 10g)

    Hello
    Last question. I have a few forms which were in client/server 6i and have been upgraded to 10g. When I run applications in 10g, all the elements will not match the screen. 6i Runtime, they used to fit all objects when executing very well.

    Without having to change the settings of window on each form, I was wondering if there was a way to change a running value in a config file that would resize the size of the immediate window.

    I tried to change the "Width" and "Height" parameters on the formsweb.cfg file, but apparently not to resize it. If there is a config file or something that could do this, it would be much easier. I am trying to save me the work of having to go to 130 + forms and change the property window so that it displays all of the objects. I hope someone can tell me the file and the option that would do it.

    Thank you
    Chris

    We have a process of preform in the library of the PLL that begins each form that defines the size of the form to the size of Window0 if it is smaller and reduced the size of the form to 110 percent of the size of Window0 if the window is too large.

    Each form calls the process of PLL_Pre_Form of the trigger of the preform.

    The process works the same, whether in Client/Server forms or Web forms and Web forms, the process increases the height and the width a little. Here is the code:

     If Get_Application_Property(User_Interface) = 'WEB' then -- Web forms
    If get_window_property(forms_mdi_window,title) is null then
    --SeparateFrame=False:  running inside browser window.
    W := W + 8;
    H := H + 98;
    Else -- SeparateFrame=True
    W := W + 16;
    H := H + 132;
    End if;
    End if;

    .. .and the coordinate system for our forms is set to true, Pixel.

  • Application Server Push using LCDS 2.6

    Hi all

    We have created an application where we use the poll to get some constant updates. Now, this question is querying the client in which the client polls the server at regular intervals to get fresh data for certain actions.

    Now, we want to take this to another level and to implement the Push of data from the server so that the client does not keep vote unnecessarily the server notifies the client as and when the data are updated with the server. For this we have the DataService Transaction class that must be implemented.

    But there are a few issues that are in my mind about this technology. It would be great if someone could respond.

    My questions are:

    (1) is the LCDS server knows what customer data to push in the case of multiple clients by looking at the same data scenario. for example, two clients A and B are looking at the same data. A performs an action and the action that needs time to get finished at the server level. Now when we use the server data Push, LCDs will be smart enough to send the message at the end of the requested activity to only A and not B.

    (2) in order to send data to the client, the server calls a method that returns the data to the client you want to. How do we keep the settings saved with the server that would need this method while getting invoked. Since then, the call to the method will not be launched customer, how does the server know what are the parameters to pass to the method to invoke. How will this work in a multi - user by looking at the same data/display scenario.

    The answers to these questions will really help us. In the case where everyone knows well thanks to this technology, please not give your entries.

    Thank you very much.

    Kind regards

    Salome

    Before we can answer, I think that we need a little more in detail... You try to have LCDs to be the point of contact to start a third-party asynchronous service that will then come back and tell LCDS data push to alert the customer having made the request that it has been completed?

    I think it's a little beyond the scope of "out of the box" capabilities LCD screens... but not impossible at all

    To answer your questions, however:

    1 no, LCDS out of the box won't be the client to push a message automatically, but yes, you can send the answer to a specific customer through their customer ID and if you can follow this ID send ID off with your initial request for your third party service and have it return it back as well for your client can be pushed to.

    2. it's a little more complex, and I think we need more details before you can even begin to respond to this...

  • How FTP a file from the client computer to the server database using Forms 10 g

    Hello
    I want a file from a client computer to the database server computer using Forms 10 G (or PL/SQL) via ftp.
    could you please tell me how can I do this

    Concerning

    Hello

    I gave u the adequate instructions on webutil configuration but u did not comply with it.
    I will post again please read correctly and follow it.

    How to get running with WebUtil 1.06 included with Oracle Developer Suite 10.1.2.0.2 on a win32 platform
    Solution
    Assuming a new 'Complete' installation of Oracle Developer Suite 10.1.2.0.2,
    Here are the steps to get a shape of small test running, using WebUtil 1.06.

    Note: Oracle_Home is used as an alias for your real oDS ORACLE_HOME.
    Feel free to copy this note to a text editor and do a find/replace on
    Oracle_Home with your real value (no slash). Then, it is easy to
    copy and paste the actual orders to be run from the copy of the memo.

    (* 1) * download http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip
    and extract to a temporary staging area. Do not attempt to use 1.7 or 1.9.

    (* 2) * copy or move jacob.jar and jacob.dll
    C:\webutile is the folder where you extracted Jacob and ends in ...\jacob_18
    CD C:\webutile
    Copy jacob.jar Oracle_Home\forms\java\.
    Copy jacob.dll Oracle_Home\forms\webutil\.
    Staging of Jacob is no longer needed and can be deleted.

    (* 3) * sign frmwebutil.jar and jacob.jar
    Open a DOS command prompt.
    Add Oracle_Home\jdk\bin in the path:
    set PATH=Oracle_Home\jdk\bin;%PATH%
    Sign files and check the result of success:
    Oracle_Home\forms\webutil\sign_webutil Oracle_Home\forms\java\frmwebutil.jar
    Oracle_Home\forms\webutil\sign_webutil Oracle_Home\forms\java\jacob.jar

    (* 4) * If you already have a pattern in your RDBMS that contains stored WebUtil code,.
    You can skip this step. Otherwise,.
    Create a schema for the stored code WebUtil and privileges to
    Sign in and create a stored package. Name of the schema "WEBUTIL" is recommended
    for no reason other than consistency based on users.
    Open Oracle_Home\forms\create_webutil_db.sql in a text editor and remove or comment
    the declaration of EXIT, in order to see if the objects have been created witout
    errors.
    Launch SQL * more like SYSTEM and the issue:
    Webutil IDENTIFIED BY password CREATE a USER
    DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp;
    /
    GRANT CONNECT, CREATE PROCEDURE, CREATE SYNONYM TO webutil PUBLIC;
    /

    CONNECT webutil/webutil@rcci
    @Oracle_Home\forms\create_webutil_db.sql
    -Inspect SQL * Plus output for errors, and then
    CREATE a PUBLIC SYNONYM webutil_db FOR webutil.webutil_db;
    /

    Reconnect as SYSTEM and the question:
    Grant execute on webutil_db to public;

    /

    (* 5) * Edit Oracle_Home\forms\server\default.env and add Oracle_Home\jdk\jre\lib\rt.jar
    to the CLASSPATH entry.

    (* 6) * add edit Oracle_Home\forms\server\formsweb.cfg default insde:
    archive_jini = frmall_jinit.jar, frmwebutil.jar, Jacob.jar
    Archive = frmall.jar
    also add:
    webutil
    WebUtilLogging = off
    WebUtilLoggingDetail = normal
    WebUtilErrorMode = alert
    WebUtilDispatchMonitorInterval = 5
    WebUtilTrustInternal = true
    WebUtilMaxTransferSize = 16384
    baseHTMLjinitiator = webutiljini.htm
    baseHTMLjpi = webutiljpi.htm
    baseHTML = webutilbase.htm
    archive_jini = frmall_jinit.jar
    WebUtilArchive = frmwebutil.jar, jacob.jar, f90all.jar
    Archive = frmwebutil.jar, f90all.jar
    lookAndFeel = oracle

    (* 7) * Oracle_Home\forms\server\webutil.cfg edit and add:
    Transfer.Database.Enabled = True
    Transfer.appsrv.Enabled = True

    (* 8) * start the OC4J instance

    (* 9) * start Forms Builder and connect to a schema in the RDBMS used in step (4).
    Webutil.PLL open, make a 'compile ALL' (shift-control-K) and generate PLX (Ctrl-T).
    It is important to generate the PLX, in order to avoid the FRM-40039 indicated in Note 303682.1
    If the PLX is not generated, the library Webutil.pll must be fixed with
    path information full access to all who wish to make use of WebUtil. This is NOT recommended.

    (* 10) * create a new WBF.
    Open Webutil.olb and subclass (not copy) the Webutil opposes the shape.
    There is no need to subclass the WebutilConfig object.
    Attach the Webutil.pll library and remove the path.
    Add a logon trigger IT with code
    NULL;
    to avoid having to connect to a RDBMS (optional).
    Create a new button on a new canvas, with the code
    show_webutil_information (TRUE);
    in a trigger WHEN BUTTON PRESSED.
    Compile the FMB to FMX, after doing a compilation-All (shift-control-K).

    (* 11) * under Edit-> preferences-> Runtime in the form designer, click the "Reset to Default" If
    the "Application Server URL" is empty.
    Then add '? config = webutil' at the end, if you end up with a URL of the form
    : http://application-tier server: port/forms/frmservlet? config = webutil

    (* 12) * run your form

    Note: If you want to use Jacob and you can configure jacob too, if you follow the above mentioned instructions.
    Sarah

  • With forms 10g server load balancing

    Hello

    I have a client who is just now dealing with a migration from a platform of client-server 6i (using Terminal servers) to a platform of web forms 10 g with several application 10 g standalone servers.

    In the end, customer wants to activate load balancing in order to have some manage to each application server workload.

    The idea to accomplish is to have a hardware load balancer. The customer has already a CISCO CSS 11503 SSL.
    Is there a documentation where I can check more info on compatibility/configuration for this architecture.

    Thank you for your attention.

    Kind regards
    Pedro Ribeiro

    You can check this doc link: [http://download.oracle.com/docs/cd/B14099_19/hpux.1012/install.1012/install/toc.htm]
    It say everything and anything mention on a load balancer, but I'll try to keep the research.

    Greetings.

  • Display the form guide in a flex application using the remote object

    I am using livecycle workbench 8.2 and flex 3.0.  Now I'm making the form of livecycle workbech guide.  I use the provided process: samples-forms-> render form Guide 1.0.  and use the SimpleMortgageLoan-formGuide(this has all 3 files: swc, xdp and xsd) for trial.

    I am able to get the PDF and html using process and sample pdf are the option to provide. But I have error when using rendered form guide to get the livecycle form guide (I use that as a starting point:http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/wwhelp/wwhimpl /common/html/wwhelp.htm?context=sdkHelp & file = 000261.html):

    Here is the error I get

    Webpage error details

    User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

    Timestamp: Monday, April 27, 2009 21:24:28 UTC

    Message: Object EXPECTED

    Online: 103

    Char: 1

    Code: 0

    URI: http://serverHost/DocumentManager/docm1240857760906/eab56933d7dfefb501ad6549129d 40 d 2? type = dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTE =

    Any idea?

    Thank you.

    The target url must be the address of the server that you want to retrieve information. For example http://localhost: 8080.

    Jasmine

Maybe you are looking for

  • Download of updates from Toshiba

    When I try to download an update from Toshiba, such as a driver for my wireless Lan, it ends up in programs and features or disappears. Recently, I tried to download a driver released this year to replace the 2012, went through the procedure as indic

  • Mail problem

    mid-2010 iMac, 2.93 GHz Intel Core i7, 16 GB of RAM Just improved 10.11.2 to 10.11.3 At the launch of mail - get a "Mail upgrade" window and a note that it is to validate the mailbox. The progress bar is freezing in half way through. No beach ball -

  • My Envy Touchscreen M7-k111dx laptop does not light.

    My laptop was working fine. He has been connected as for the charge of the battery. I went to bed, got up the next day to use my laptop. I pushed the power button and nothing happens. I made sure the battery was sitting properly and also plug it into

  • has obtained two new computers and need to migrate my Norton 360

    has obtained two new computers and need to migrate my Norton 360

  • llyoung

    My favorite game of all time seems to not work with VISTA, because VISTA has more MSVBVM50. DLL. is there other than to throw my VISTA into the trash. I am an old user of WINDOWS ME 2000 and feels a heck of a time getting like VISTA. I'm not slightly