OLE DB BETA

The OLE DB provider automatically retrieves information for the
metadata columns. For example whether a column is a key column.
Is there are a way to control whether the provider shoudl
retrieve this information ? The impact on performance is
significant. The Microsoft OLE DB for Oracle dll does not
provide the metadata and the performance is excellent.
null

Please have a look at this solution:
SSIS package error
or this one:
BIDS 2008 SSIS Package Data Flow Task fails validation and returns “VS_ISBROKEN” Error
Saeid Hasani [sqldevelop]

Similar Messages

  • For Sale Sony DVF-EL100 .7" OLED Viewfinder

    Hi, I'm selling my OLED viewfinder.  I know the OLED is better and a lot of guys love it, but I just never got use to it.  It's mostly sat in the case while I've been using an Alphatron viewefinder instead.  The OLEDs are $4930.00 new at B&H.  In prepartation for this sale I sent the viewfinder into Sony for a checkup and it got a clean bill of health and is ready for a new home.  Asking 4200. Thanks for looking! Sal  

    The AXS-kit is reduced and I`ve created a new thread for it here:  http://community.sony.com/t5/F5-F55/FOR-SALE-AXS-recorder-and-media/m-p/515898#U515898 Stian Einar ForgaardManaging director & ProducerPhantom [email protected]+47 97545827www.phantomfilm.no

  • ABAP Convert Internal Table values to Excel and Upload

    Hi Friends,
    I have a internal table with multiple columns along with values and i need to convert this into String-->Xstring and upload to system but before that i need to make the alignments in the Excel before uploading ex:Making the text bold,set border so how will i do this?
    Regards,
    Vinodkumar.

    HI Vinod,
    Using OLE is better option to play with Excel.
    You can refer below link for detailed information on how to use OLE to download to excel
    Downloading report output to Excel using OLE
    Thanks,
    Lohit
    http://www.****************/Tutorials/ABAP/OLE/Index.htm

  • What's a better connection to an SQL database? ODBC or OLE DB

    NEw user here, but what would be a preferred way of connecting to my SQL database?  So far I have option of using ODBC (RDO) connection or OLE DB(ADO) connection. I'm not sure what the differences or when to use one or the other.
    Thanks

    I like OLE DB for the simply because it's "portable". With OLE DB the connection info is stored in the report. With ODBC, the report is using a system dsn connection. It means that if you want to send it to another user / computer, you also have to make sure the other computer has the same ODBC connection.
    In terms of performance... I've used both and have never seen a difference.
    Jason

  • MSI BIG BANG MARSHAL -- UEFI-(Click-BIOS)-BETA Releases [MS-7670]

    I will upload the latest available BETA Release for the BIG BANG MARSHAL mainboard: E7670IMS.113 [v1.1b3]
    Changelog:
    E7670IMS.100 ---> E7670IMS.113
    - Fixed the system will hang in blank screen when press F11 to select UEFI DVD installing 64Bit OS issue.
    - Fix DRAM Timing not match SPD value.
    - Add the new BOM support.
    - Improve mouse compatibility in bios setup menu.
    - Change the Package C State limit item default value.
    - Fix the PC Health Status show N/A issue when use the User PassWord entering the Setup.
    - Fix can not entering dos mode issue when onboard lan controller set disabled.
    - Fix plug 4 dimm G-Skill F3-12800CL7D boot fail when XMP enabled.
    - Fix mouse click will hang 0Dh in some page when entering setup with user password.
    Flash/use this release at your own risk!
    For BIOS Update: >>Use the MSI HQ Forum USB flasher<<

    Hey guys real quick. So after updating to the new 7670IMS>310 bios so that I may use my GTX780s, I reinstalled with windows 8. Everything was fine until I was on teamviewer just last nite and upon switcing sides my bios got corrupted. How do I know you ask? Upon getting back into windows my LANS did not work so I had not internet connection. I tried uninstalling it from Device Manager and deleting it. After a few clrmos. I thought I would switch over to the other bios and see if the LAN works and it does because of the status lights because now it lights up. So I switch back to main bios and LAN works but it would not post whatsoever and just cycles through post finally ending with a " DE ". Not sure what the new LED DEBUG codes are but if someone could post it would be nice to be able to refer to it.
    Anyways on win 8, no matter what it will not let me into windows And when it looks like it will...gives me "your pc ran into problems and we are collecting data and we'll restart after" message. After a few of these wonderful messages, I decided I was going to flash my bios again. It did look like I was sucessful until after restart it did the same thing. Going through post I saw 19,15 then shuts off. Does this and ends with "DE" pc still on but nothing. No windows.
    I got lucky a few times and was able to get into my bios and decided I was going back to Win 7 64......I put the good ole XFX6990 back in and got windows 7 to reinstall and continue to flash my bios to an older one. I used your method before and it work> from 3.0 back to 1.5 then from 1.5 back to 1.2 for OC purposes. So i tried that method but it looked like it just reflash it with 3.1, odd.
    So after a few restarts everything seems fine, no cycles just normal. When I reboot normal process no double boots or cycles this time so I thought hey, that fixed my corrupted bios somehow. I thought I gotten lucky.... So I switch out the good old 6990 and in with my 780s. Reinstalled win 7 and upon completion of windows update. Again with the cycles of 19,15 turns off does this again over and over like 5 or 6 times and ends with "DE"
    And this is where I'm at atm. I remember when I DL'd the flasher and bios. I only saw 2 files which was " VALVE CHECK AND E7670IMS.310".
    When I tried to do it again with the same method as the first I have "
    #BIOS
    #BK_6.Z7
    #EFIFLASH
    #MSIHQ(icon)
    #MSIHQ_INFO
    #MT420"
    This time it does not go through the same when flashing, just tells me bios update complete. I've done this a million times and all have been successful.
    Basically I'm still on 3.1 bios but I 'm curious as what other methods do you suggest I try now? I have left everything alone after reinstalling windows and updates. Everything seems okay, reboots fine no cycles and still get the random hit or miss with 15,19 turns off cycles and ends with "DE". Would like to get a resolution if possible. Thank you and I know I said real quick right, but really. Thanks for any help.
    I'm going nuts!!

  • How can I create files from Documents stored in a longraw via OLE

    Hello,
    we use forms 6 in client-server-mode and store documents (pdf, tif, doc ... all is possible) in a longraw using an OLE-container.
    Actually I develop a new application which has to exchange document-files with other servers.
    Is there a simple way to generate files from this long raw?
    What does this OLE do to my file before storing it in the long field.
    Is this OLE still a good format?
    The migration to webforms could be a good opportunity to change something ...
    Maybe we better store the files in the file-system and show them with the show_document procedure.
    Wolfram

    Set your export type to Hard Disk and export to a folder on your hard-drive, and optionally re-import those exported JPGs using a checkbox on the Export panel. 
    When I do exports like this I typically put them in a subfolder of the raw files rather than physically mixed into the raw files, themselves.  If I want to see the raws and jpgs mixed together I can just enable Show Photos in Subfolders.

  • [b]Tutorial:[/b] Simplify Developing OLE Automation Code Using VBA

    INTRODUCTION
    Automating Office applications from Oracle Forms can be a tedious, frustrating, and time-consuming process. Because the OLE2 and CLIENT_OLE2 built-ins do not validate the automation commands that they relay, code that compiles without errors often dies at runtime with a not-so-helpful error code. This tutorial will demonstrate how to simplify the development of automation code using a tool that ships with all Microsoft Office editions -- the Visual Basic for Applications (VBA) IDE.
    The VBA IDE, a core Office component, is a full-fledged development environment featuring code completion, basic syntax highlighting, context-driven help and a runtime debugger. Its Object Browser provides a convenient means of browsing the Word object model, as well as searching by keyword.
    For those who may not interested in following this tutorial in detail, I would like to stress the usefulness of the Object Browser as a tool for inspecting the functions supported by OLE server applications and, perhaps more importantly, valid values for function arguments. Whether/not anyone buys the assertion that starting with VBA prototypes is far more productive than pounding out OLE2 code from the very start, they will find the Object Browser invaluable as a reference -- I rely on it exclusively for this sort of documentation.
    A BRIEF INTRODUCTION TO THE VBA IDE & THE OBJECT BROWSER UTILITY
    Try this:
    1. Open Word
    2. Launch the VBA IDE by pressing <Alt><F11>
    3. Open the Object Browser by pressing <F2>
    The Object Browser allows you to visually navigate Word's class hierarchy. Its user interface is a bit crowded, so controls are unlabeled. Hovering the mouse cursor above a control will display a tooltip explaining that control's purpose. The browser's scope can be narrowed by using the Project/Library combo. Typing a keyword or substring in the Search Text combo and clicking on the Search button will cause all classes/members whose name contains the specified search text to be listed in the Search Results pane. Selecting an item from this list will update the two panes below it, showing the selected class, and its members. Beneath the Classes and Members panes is an untitled pane, gray in color, which displays details for the selected class/member, including hyperlinks to relevant information such as arguments, their types and allowable values. If Visual Basic Help is installed, pressing <F1> will display help on a selected class/member. (This feature can be installed from your Office install CD, if necessary.)
    NOTE: While it is possible to cut-and-paste the code examples that follow, I highly recommend that they be typed in by hand. Doing so will provide a better understanding of how the IDE's code completion behaves. Use code completion most efficiently by not using the mouse or <Enter> key when selecting from completion lists. Instead, just type enough letters to select the desired list element, then continue along as if you had typed the entire element, typing the next operator in your statement. It really is slick!
    HELLO WORLD - VBA-STYLE
    1. Open Word
    2. Launch the VBA IDE by pressing <Alt><F11>
    3. Select Module from the Insert menu.
    4. In the blank area that appears, enter the following code:
      Public Sub HelloWorld()
          Documents.Add
          Selection.TypeText ("Hello, world!")
      End Sub5. Press <F5> to run the code.
    If you switch back to Word by pressing <Alt><F11>, there should appear a newly-created document containing the text Hello, world!.
    A MORE AMBITIOUS EXAMPLE
    In this example, we will launch Word, type some text, and alter its formatting. For the purposes of this tutorial, consider it the process we wish to automate from within Forms.
    1. If Word is running, close it.
    2. Open any Office application except Word, such as Excel, Outlook or PowerPoint
    3. Launch the VBA IDE by pressing <Alt><F11>.
    4. Select References from the Tools menu -- a dialog should pop up.
    5. From within this dialog, locate and select Microsoft Word <version> Object Library, then click OK.
    6. Select Module from the Insert menu.
    7. In the blank area that appears, enter the following code:
    Public Sub LaunchWord()
        Dim app As Word.Application
        Set app = CreateObject("Word.Application")
        app.Visible = True                          '!!! IMPORTANT !!!
        app.Documents.Add
        With app.Selection
            .TypeText "This is paragraph 1."
            .TypeParagraph
            .TypeText "This is paragraph 2."
            .TypeParagraph
            .TypeText "This is paragraph 3."
        End With
        With ActiveDocument
            .Paragraphs(1).Range.Words(3).Bold = True
            .Paragraphs(2).Range.Words(3).Italic = True
            .Paragraphs(3).Range.Words(3).Underline = True
        End With
    End Sub8. Press <F5> to run the code.
    A new Word session should have been launched. Switch to it, to view the results of our handiwork!
    TAILORING VBA CODE INTENDED FOR OLE2 CONVERSION
    Now, things get a bit uglier. The code listed above gives a good idea of how concise VBA code can be, but With blocks and chained object references do not translate readily into OLE2 code. Here's the same process, rewritten in a more OLE2-friendly style. Note the numerous intermediate object references that have been declared.
    Public Sub LaunchWord()
        Dim app As Word.Application
        Dim doc As Word.Document
        Dim docs As Word.Documents
        Dim pars As Word.Paragraphs
        Dim par As Word.Paragraph
        Dim wrds As Word.Words
        Dim sel As Word.Selection
        Dim rng As Word.Range
        Set app = CreateObject("Word.Application")
        app.Visible = True                          '!!! IMPORTANT !!!
        Set doc = app.Documents.Add
        Set sel = app.Selection
        sel.TypeText "This is paragraph 1."
        sel.TypeParagraph
        sel.TypeText "This is paragraph 2."
        sel.TypeParagraph
        sel.TypeText "This is paragraph 3."
        Set pars = doc.Paragraphs
        'select third word of first paragraph and make it bold
        Set par = pars.Item(1)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Bold = True
        'select third word of second paragraph and italicize it
        Set par = pars.Item(2)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Italic = True
        'select third word of second paragraph and underline it
        Set par = pars.Item(3)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Underline = True
    End Sub
    TRANSFORMATION: CONVERTING VBA CODE INTO PL/SQL
    Here is the PL/SQL counterpart to our previous VBA routine. Compare printouts of the two and note their similarities. Notice the need for argument lists -- this causes the code to fluff up quite a bit, and really interferes with readability.
    PROCEDURE LAUNCH_WORD IS
      v_app OLE2.OBJ_TYPE;     -- Application
      v_doc OLE2.OBJ_TYPE;     -- Document
      v_docs OLE2.OBJ_TYPE;    -- Documents collection
      v_pars OLE2.OBJ_TYPE;    -- Paragraphs collection
      v_par OLE2.OBJ_TYPE;     -- Paragraph
      v_wrds OLE2.OBJ_TYPE;    -- Words collection
      v_sel OLE2.OBJ_TYPE;     -- Selection
      v_rng OLE2.OBJ_TYPE;     -- Range
      v_args OLE2.LIST_TYPE;   -- OLE2 argument list
    BEGIN
      /* launch Word and MAKE IT VISIBLE!!! */ 
        v_app := OLE2.CREATE_OBJ('Word.Application');
        OLE2.SET_PROPERTY(v_app, 'Visible', TRUE);
      /* initialize key object references */ 
        v_docs := OLE2.GET_OBJ_PROPERTY(v_app, 'Documents');
        v_doc := OLE2.INVOKE_OBJ(v_docs, 'Add');
        v_sel := OLE2.GET_OBJ_PROPERTY(v_app, 'Selection');
      /* type first paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 1.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      /* type second paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 2.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      /* type third paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 3.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
      /* set reference to Paragraphs collection */
        v_pars := OLE2.GET_OBJ_PROPERTY(v_doc, 'Paragraphs');
      /* select third word of first paragraph and make it bold */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 1);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Bold', TRUE);
      /* select third word of second paragraph and italicize it */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 2);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Italic', TRUE);
      /* select third word of second paragraph and underline it */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Underline', TRUE);
    END;
    REFACTORING FOR REUSABILITY AND READABILITY
    While the previous procedure runs without errors, it suffers from poor readability which, in turn, makes it difficult to maintain. Here, we address those issues by moving repetetive low-level operations into separate procedures.
      PROCEDURE LAUNCH_WORD IS
        v_app OLE2.OBJ_TYPE;    -- Application
        v_doc OLE2.OBJ_TYPE;    -- Document
        v_docs OLE2.OBJ_TYPE;   -- Documents collection
        v_sel OLE2.OBJ_TYPE;    -- Selection
        v_args OLE2.LIST_TYPE;  -- OLE2 argument list
      BEGIN
        /* launch Word and MAKE IT VISIBLE!!! */ 
          v_app := OLE2.CREATE_OBJ('Word.Application');
          OLE2.SET_PROPERTY(v_app, 'Visible', TRUE);
        /* create a new Word document */ 
          v_docs := OLE2.GET_OBJ_PROPERTY(v_app, 'Documents');
          v_doc := OLE2.INVOKE_OBJ(v_docs, 'Add');
          v_sel := OLE2.GET_OBJ_PROPERTY(v_app, 'Selection');
        /* add a few paragraphs */
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 1.');
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 2.');
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 3.');
        /* apply formatting */
          APPLY_FORMATTING(v_doc, 1, 3, 'Bold', TRUE);
          APPLY_FORMATTING(v_doc, 2, 3, 'Italic', TRUE);
          APPLY_FORMATTING(v_doc, 3, 3, 'Underline', TRUE);
      END;
      PROCEDURE APPLY_FORMATTING(
        v_doc OLE2.OBJ_TYPE,
        v_paragraph_num NUMBER,
        v_word_num NUMBER,
        v_attribute VARCHAR2,
        v_value BOOLEAN) IS
        v_pars OLE2.OBJ_TYPE;   -- Paragraphs collection
        v_par OLE2.OBJ_TYPE;    -- Paragraph
        v_wrds OLE2.OBJ_TYPE;   -- Words collection
        v_rng OLE2.OBJ_TYPE;    -- Range
        v_args OLE2.LIST_TYPE;  -- OLE2 argument list
      BEGIN
        /* set reference to Paragraphs collection */
          v_pars := OLE2.GET_OBJ_PROPERTY(v_doc, 'Paragraphs');
        /* get specified paragraph */   
          v_args := OLE2.CREATE_ARGLIST;
          OLE2.ADD_ARG(v_args, v_paragraph_num);
          v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
          OLE2.DESTROY_ARGLIST(v_args);
        /* get words for specified paragraph */
          v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
          v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        /* apply formatting to word found at specified index */
          v_args := OLE2.CREATE_ARGLIST;
          OLE2.ADD_ARG(v_args, v_word_num);
          v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
          OLE2.SET_PROPERTY(v_rng, v_attribute, v_value);
      END;
      PROCEDURE PRINT_PARAGRAPH(v_sel OLE2.OBJ_TYPE, v_text VARCHAR2) IS
        v_args OLE2.LIST_TYPE;
      BEGIN
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, v_text);
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      END;
    CONCLUSION
    It is my hope that this tutorial, despite it's introductory nature, has demonstrated the value of the VBA IDE, the ease with which automation processes can be prototyped using VBA, the noticeable similarity between VBA automation routines and their Forms PL/SQL counterparts, and the advantages of testing automation processes within the VBA IDE. Please feel free to follow up with any specific questions or concerns you may have.
    Thanks,
    Eric Adamson
    Lansing, Michigan
    FINAL NOTE: These examples use the OLE2 built-in, and will operate correctly when called from forms running in the Form Builder OC4J. Deploying them to an Oracle Application Server will launch Word on the server itself (if available), which is usually not the developer's intent! Automating Word client-side via web forms requires adding WebUtil support. Adapting the code for WebUtil is trivial -- just replace all instances of OLE2 with CLIENT_OLE2. Adapting forms for WebUtil and configuring OLE support into your Oracle Application Server, however, are beyond the scope of this tutorial.
    REVISION HISTORY
    This promises to be something of a 'living document'. I've snuck changes through without comment in the past, but in the future, I'll try to document significant changes here.
    2006-08-21
      * Prefaced boring subject line with text: 'Tutorial:' to clarify purpose
      * Added emphasis on value of Object Browser as a reference

    Thanks James, for your kind words. I do hope this information will help folks out. I honestly believe that tinkering around in the VBA IDE will prove highly gratifying for automation developers. It can be assured that learning to make Word jump through hoops is much more straight-forward in this environment. I'm not one for mottos, but if I were pressed for a cheesy motto, I would say: First, make it work. Then, make it work in Oracle!
    Once the idea has sunk in, that Visual Basic routines for automating Word are exact analogs to their OLE2 counterparts, we can remove keywords like Oracle and PL/SQL from our Google searches on Word automation which, at least in this context, are the proverbial kiss of death. Suddenly we find ourselves liberated by the possibility of steal-, ahem... borrowing ideas from the Visual Basic* community!
    As for links, my link of choice is invariably http://groups.google.com -- if you don't already use it at least ten times a day, you must try it. This is the venerable USENET archive, including the holdings of now-extinct DejaNews. Another possible site of interest is http://word.mvps.org/FAQs/MacrosVBA, which may serve as a good starting point for those who wish to learn how to do fancy tricks with Word using VBA.
    If these links don't prove immediately helpful, please feel free to give specifics on the sort of operations you are interested in automating, and I'll see if I can post an example that addresses it.
    Regards,
    Eric Adamson
    Lansing, Michigan
    PS: I do hope, as people read my posts, with every other acronym being VBA, that they are not mistakenly hearing a call to learn Visual Basic. I say this, not because I believe learning VB would be a Bad Thing, but because I assume that few of us feel we have the time to learn a new programming language. Despite having come to the Oracle camp already knowing VB/VBA, and having acquired a fair bit of experience with automating Office applications as an Access developer, I remain confident that what I am suggesting people attempt does not rise to the level of learning a language. What I am suggesting is that they learn enough of the language to get by.
    *VB vs. VBA
    Just a quick word on this, as readers may wonder why I seem to use these terms interchangeably. Visual Basic (VB) can refer to either a development platform or a programming language. Visual Basic for Applications (VBA) is a language -- more precisely, it is a subset of the Visual Basic language. One purchases VB, usually quite intentionally. VBA is included with Microsoft Office, as is VBA's development environment, the VBA IDE. The key distinction between VB and VBA is that VBA cannot be used to create self-contained executables. Rather, VBA relies on VBA-enabled applications, such as Microsoft Office applications, to serve as a container for VBA code, and to provide a runtime environment for that code. For the purposes of discussing OLE Automation, VB and VBA are quite interchangeable.

  • To store PDF into BLOB and retrieve into OLE/OCX

    We would like to:
    1. Store a PDF file (output of a report saved in file server) into a BLOB
    column.
    2. Retrieve previously stored PDF in the BLOB column and display using either
    OLE automation or ActiveX (OCX) control.
    I read all related documents in metalink that addresses this issue however cant
    get this to work. We have Acrobat Reader 4.0. Here are some issues from the
    tests that I did:
    1. To load the PDF file the program code that uses BFILE and LOADFROMFILE does
    not work since the database is on a remote server and the PDF file is on a
    local file server. The DIRECTORY created on the database is unable to find the
    PDF file.
    2. Though I want the loading of the file to be programmatic, I tried
    right-click on the OLE container and inserted object from file. This loaded the
    file into the container (Icon on the container appeared) however I was not able
    to view the document by double-clicking. An error in Adobe occured: 'There was
    an error opening this document. A file read error occured'. My guess is the
    'Insert Object' did not insert the file properly into the BLOB.
    3. When trying to display the PDF file stored in file server (in case storing
    into BLOB does not work), I used an OCX control, right-clicked and Insert
    Object and select Adobe Control for ActiveX. The problem here is when I run the
    form, the OCX control shows up empty and I have to 'Insert Object' again in
    runtime. Once I manually insert object from runtime the GET_INTERFACE POINTER &
    SET_PROPERTY works fine is displaying the document. Is there any way to
    maintain the control property of the OCX when the form is run?
    4. Are there any workarounds and better solution to store PDFs into BLOBs and
    retrieve and display in OLE/OCX controls? Using temporary file into local drive
    is not an issue.
    5. Would I be able to make use of 'PDF.PdfCtrl.1' OLE class?
    6. Does OLE automation work for Acrobat Reader 4.0.?
    I would appreciate all the help.
    Shyam

    Im facing a similar kind of problem. I want to store and retrieve Office files, PDF and Jpegs into/from the database to view them on web in disconnected mode. Please reply as I cant find any help/documentation regarding saving BLOB data into files. I was able to store file data into BLOB, using DBMS_LOB package.
    Shahzad

  • Need help on OLE excel paste in selected cell range

    Hi Friends,
    I need to paste the clipbord contents in a selected range of cells using ole automation.
    Rage is selected using the following code :
    CALL METHOD OF G_EXCEL 'Cells' = G_CELL1
        EXPORTING #1 = 4
        #2 = 1.
      CALL METHOD OF G_EXCEL 'Cells' = G_CELL2
        EXPORTING #1 = P_ROW
        #2 = gv_col.
      CALL METHOD OF G_EXCEL 'Range' = G_CELLRANGE
        EXPORTING #1 = G_CELL1
        #2 = G_CELL2.
    now need to past the clipbord contents in G_CELLRANGE.
    Would appriciate your help,
    Thanks,
    John

    Hi Jhon,
    this is the obsolete old way even Rich would not recommend (look at the age of the blog).
    There are far better and much more performat ways doing this using Desktop Office Integration.
    Refer to this complete documentation of [Desktop Office Integration (BC-CI)|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf]
    It took me some time to create my first application with DOI, but if you have done you will never want to miss it.
    Regards,
    Clemens

  • OLE error code in Windows 8.1

    Good day,
    I tried to run vfp8 compiled executable file on windows 8.1, then i got this error...
    "OLE error code 0x80040154: Unknown COM status code. Ole object is being ignored. Record number 6."
    I have tried to read through similar issues but could not find my way out.
    kindly help. Thanks
    --- Gabriel Oladoyinbo Senior Consultant http://topmarkservices.net

    It's not sufficient to simply add the missing file, activex need registering.
    Your SCX knows what file it uses in it's OLE2 column.
    USE your.scx
    BROWSE FOR !EMPTY(Ole2)
    Look inside.
    And you better not only include that file in your setup, you also set it's properties so the setup registers it. And you better look out for a merge module installing an AcitveX and dependencies.
    The properties of files you add to the installer project also have a COM settings tag, which includes Scan at Build, that scans for dependencies. Setting that for your EXE will make Installshield Express look out for any COM dependencies your EXE has and
    will result in build warnings at least.
    Bye, Olaf.
    Olaf Doschke - TMN Systemberatung GmbH
    http://www.tmn-systemberatung.de

  • How can I create a data connection without ODBC (directly with OLE DB)

    If connecting to an OLE DB data source, which is not defined as ODBC, the well known error message appears in Acrobat, that the environment is not trusted. The Designer Help says, that the document must be certified in Acrobat to run OLE DB without ODBC. So I certified the document in Acrobat allowing dynamic content for it. But the error message always appears. So I have some questions to this:
    How is the correct certification process in Acrobat to define a trusted environment for using OLE DB without ODBC?
    Why generates using of ODBC an trusted environment? With using ODBC data sources can be changed external from Acrobat, so I must think, ODBC is absolutely insecure.
    Why is OLE DB without ODBC insecure? Here I have a defined connection string, which cannot be changed at runtime (if the form developer this doesn't want).
    And why is the first record displayed instead of the error message, if using OLE DB without ODBC, but navigation is impossible?
    This seems all very mysterious to me.
    Does anyone in the world has ever created an OLE DB data connection (without ODBC) with Designer and Acrobat, which runs in a trusted environment?
    Thanks for your answers.
    Michael

    For the Projects, the trick will be the Asset files. If they will fit onto DVD DL discs, you're OK. If they are too large (DV-AVI is ~ 13GB per hour), then you'll need some type of backup, or spanning software, that will write files across multiple discs. A better choice, IMO, would be a 1 - 2 TB external, where you can use Project Manager, or just Windows Explorer and Copy, to do the entire Project folder with Assets. I'd recommend against a USB and go at least for FW-400. FW-800 would be better, but you'll need FW-800 connections on your computer. eSATA would be the best, but then you'll need eSATA connectors.
    Good luck,
    Hunt

  • Print Preview of OLE object

    My table has an OLE object.
    In report it is arranged in tabular format (Arrage ->Table -> tabular)
    so that if height of Other field(Let "Description") is grater than height of OLE object then height of that particular row will increased upto the height of Description.
    In report view this works fine.  But in print preview or in print size of OLE remains to original, it is not printing as it is appearing in Report view.
    Please help me in this regard. 

    Hi AshishKumar1200,
    Thanks for posting in MSDN fourm. Which version of Access are you using?
    Since the issue is more relate to the end-user, I'd like to move it to Office 2013 and Office 365 ProPlus - IT Pro General Discussions forum.
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us.
    Thanks for your understanding.
    Regards & Fei
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • ABAP Objects, OLE & Cool:Gen

    Hello ABAP-ers,
    I have been messing around for a few hours now trying to get the right statements, but gettings desparate or better said angry, so Im posting this message in the hope to get some useful tips.
    For a customer I am developing an ABAP class which should make it possible to call a non SAP screen,  but a so-called Cool:Gen screen via OLE commands. In this screen some screenfields should be filled and a button should be pushed.
    The original coding from Cool:gen looks like this (which is programmed by a Cool:Gen programmer) :
    Create an instance of the application 'GINDA051'  and save a handle to the application in 'w_applicatie gui guiobject'
    SET w_applicatie gui guiobject TO CreateObject("GINDA051.Composer.Application")
    Determine the handle of the window in the application (there's only one) and save this in 'w_window gui guiobject'
    SET w_window gui guiobject TO w_applicatie gui guiobject.Windows().Item(1)
    Fill a number of fields with values
    w_window gui guiobject.Field("efiInterface").Value TO "Job1"
    w_window gui guiobject.Field("efiKey1").Value TO "PieceId"
    w_window gui guiobject.Field("efiValue1").Value TO "20070313000001"
    Trigger the Start button
    INVOKE w_window gui guiobject.Button("pbtStart").Click()
    My SAP coding so far looks like this:
    Including OLE types
      INCLUDE OLE2INCL.
    Tables and variables for later use
    DATA: APPLICATION TYPE OLE2_OBJECT.
    Create the object
    CREATE OBJECT APPLICATION 'GINDA051.Composer.application'.
    If I execute this code, the screen appears, but I cant get the screen fields filled, cause I dont know how to get a connection to the screen. I dont know how to translate the second statement to an ABAP statement and I dont know if I should a use the command to execute a method, of to fill a parameter.
    Filling one of the screen fields I guess would go via this statement, but it doesnt work.
    SET PROPERTY OF APPLICATION 'efiInterface' = 'taak1'.
    Well, I know that this is not an allday situation I am explaining and I can imagine that you thinks this is rather vague, but he Im trying anyway.
    Any tips would be greatly appreciated!
    Kind regards,
    Erik

    Hello,
    I found out which coding to use to get the functionality I needed, namely:
    - Calling a screen
    - Filling some fields in it
    - Executing a certain function (clicking a button)
    This is the code, maybe it will be of use for someone.
    Including OLE types
      INCLUDE OLE2INCL.
    Tables and variables for later use
      DATA: APPLICATION TYPE OLE2_OBJECT,
            WINDOW      TYPE OLE2_OBJECT,
            FIELD1      TYPE OLE2_OBJECT,
            FIELD2      TYPE OLE2_OBJECT,
            FIELD3      TYPE OLE2_OBJECT,
            BUTTON      TYPE OLE2_OBJECT.
    Stap 1
      CREATE OBJECT APPLICATION 'GINDA051.Composer.application'.
    Stap 2
    Handle naar scherm
      CALL METHOD OF APPLICATION 'CurrentWindow' = WINDOW.
    Veld 1
      CALL METHOD OF WINDOW 'Field' = FIELD1
        EXPORTING
        #1 = 'efiInterface'.
      SET PROPERTY OF FIELD1 'Value' = 'taak1'.
    Veld 2
      CALL METHOD OF WINDOW 'Field' = FIELD2
        EXPORTING
        #1 = 'efiKey1'.
      SET PROPERTY OF FIELD2 'Value' = 'depotstukId'.
    Veld 3
      CALL METHOD OF WINDOW 'Field' = FIELD3
        EXPORTING
        #1 = 'efiValue1'.
      SET PROPERTY OF FIELD3 'Value' = '20070313000001'.
    Handle naar button
      CALL METHOD OF WINDOW 'Button' = BUTTON
        EXPORTING
        #1 = 'pbtStart'.
      CALL METHOD OF BUTTON 'Click'.
      FREE OBJECT BUTTON.
      FREE OBJECT FIELD1.
      FREE OBJECT FIELD2.
      FREE OBJECT FIELD3.
      FREE OBJECT WINDOW.
      FREE OBJECT APPLICATION.

  • Export To PDF with OLE Objects/Word

    I got a report that has several OLE Objects that are each linked to a Word document.
    Upon viewing the exported file, you notice that these objects have lost resolution and do not appear as clearly as they did in the report designer.
    Upgraded to SP 4. The issues is still happening.
    The issue happens when the linked word doc is right justified.
    Any idea what causes this?
    Using Crystal Reports 11.0.0.2495
    Using Word 2003

    you may try following things:
    1. Put crystal on the highest level of service pack(SP 4) and then check fro the results.
        https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/bobj_download/main.htm
    2.Suppress each section one by one (where these ole objects are placed) and then check whether a particular object is causing the trouble.Also, it will be clear if this issue is really due to ole objects or something else.
    3.you are currently on release 1.If you have a chance to test this on release 2 or CR 2008 then it would be better.
    Could you please explain what you exactly  mean by fuzzy/distorted.I mean, do the objects/text appear blurd/misalligned or what.

  • Not able to properly Save OLE Storage to .docx format.

    Hi,
    We have legacy C++ code that would embed word .doc files using OLE and save them back to .doc disk based files whenever necessary.
    This code does not now work with .docx(.xlsx to that matter).
    I am aware that old .doc files are Structured Storage files whereas the latest .docx are zipped xml files.
    I am attaching code that would create an OLE storage out of .docx file and save it back to .docx.
    When opening the saved .docx file, an error message pops in WinWord indicating that the file is corrupted and that it can repair that file. It works after word repairs the file. But Excel cannot even repair such .xlsx files.
    Further, the saved OLE storages are well displayed in our application(in place editing for embedded files).
    Can any one suggest what needs to be done?
    the following is a sample code.
    void CreateStorage()
    HRESULT hr = S_OK;
    WCHAR filePath[] = L"E:\\Sample.docx";
    OleInitialize(NULL);
    DWORD renderopt = OLERENDER_FORMAT;
    FORMATETC formatEtc;
    formatEtc.cfFormat = CF_ENHMETAFILE;
    formatEtc.dwAspect = DVASPECT_CONTENT;
    formatEtc.lindex = -1;
    formatEtc.ptd = NULL;
    formatEtc.tymed = TYMED_ENHMF;
    LPSTORAGE m_pSrcStorage = NULL; // Pointer to the source storage
    IOleObject *pObj = NULL;
    ILockBytes *pLockBytes = NULL;
    CLSID clsID;
    hr = StgCreateStorageEx(NULL, STGM_READWRITE | STGM_CREATE | STGM_SHARE_EXCLUSIVE,
    STGFMT_DOCFILE, 0, NULL, NULL, IID_IStorage, (void **)&m_pSrcStorage);
    hr = OleCreateFromFile(CLSID_NULL, filePath, IID_IOleObject, renderopt,
    &formatEtc, 0, m_pSrcStorage, (void**)&pObj);
    IPersistStorage* pPersist = NULL;
    hr = pObj->QueryInterface(IID_IPersistStorage, (void**)&pPersist);
    if (pPersist != 0)
    // Sample code to test OleSave. hr fails due to Access Denied
    hr = OleSave(pPersist, m_pSrcStorage, FALSE);
    pPersist->Release();
    // Debugging code to know the CLSID of the document
    pObj->GetUserClassID(&clsID);
    unsigned long mytempdata = clsID.Data1;
    LPSTORAGE pOleStorage = NULL;
    hr = pObj->QueryInterface(IID_IStorage, (void**)&pOleStorage);
    if (pOleStorage != NULL)
    pOleStorage->Release();
    WCHAR newFilePath[] = L"E:\\TestMe.docx";
    DWORD STORAGE_OPEN_MODE = STGM_READWRITE | STGM_CREATE | STGM_DIRECT | STGM_SHARE_EXCLUSIVE;
    LPSTORAGE pNewStorage = NULL;
    hr = ::StgCreateStorageEx(newFilePath, STORAGE_OPEN_MODE, STGFMT_DOCFILE,
    0, NULL, NULL, IID_IStorage, (void **)&pNewStorage);
    hr = m_pSrcStorage->CopyTo(0, NULL, NULL, pNewStorage);
    hr = pNewStorage->Commit(STGC_DEFAULT);
    if (pLockBytes != NULL)
    pLockBytes->Release();
    pNewStorage->Release();
    m_pSrcStorage->Release();
    pObj->Release();
    OleUninitialize();

    Hi Phani,
    As far as I know,only the Office 97-2003 binary file formats use the Windows Structured Storage APIs. Please refer to this KB article:
    https://support.microsoft.com/kb/840817?wa=wsignin1.0
    And the .docx file should be Office Open XML Formats which do not support Windows Structured Storage APIs.
    If you want to manipulate .docx documents using Visual C++, please think about MS Office OLE Automation APIs.
    http://www.codeproject.com/Articles/34998/MS-Office-OLE-Automation-Using-C
    Also please check this : Sample code for creating a DOCX file. But these sample is written by C#.
    http://blogs.msdn.com/b/brian_jones/archive/2006/06/29/651190.aspx
    http://blogs.msdn.com/b/dmahugh/archive/2006/06/26/647859.aspx
    Best regards,
    Shu Hu
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for