COM components in OAS

I am aware of Oracle8i support for COM components, but I would like to deploy 3rd party COM components (e.g. MS CDO-NT for email/fax/messaging application integration) to the middle tier (OAS). I think I would need to create a custom cartridge for each component (one for all?).
Anyone using COM components in OAS (vs O8i)- any comments?

Interesting proposition but no affirmative answer.
I my opinion, if you can invoke COM to create Word docs and Excel spreadsheets on the local machine (same as the DB server) from within PL/SQL stored procedures, there is no reason why you shouldn't further call these procedures from other procedures that can be accessed from OAS' PL/SQL cartridge (I assume that is what you are using). Now the question is, can you also invoke CDO COM DLL's from PL/SQL (I have yet to see an example for this), either on the same machine, or more likely on a different machine (you wouldn't put Oracle and IIS on the same NT box, would you)?
So even if there is a round-about solution, it won't be as straight forward as using IIS. In the last a couple of years I see a trend among ORCL shops of shifting from OAS to IIS for their web app development, even though the database of choice is still Oracle, precisely for the same reason you are doing --- people want to pull data from Oracle and display on web pages, but also want to integrate the web app with messaging/office tools/report engines. COM based IIS is still the only end-to-end solution for this kind of intranet based work.
If you use OAS 4.0.8's JServlet cartridge, I assume your can access COM, but you also need to write your own Java-COM wrappers, which I don't think is that worthwhile.
Bottomline: ORCL MSFT interoperability has a long way to go, and I am not sure people are making a lot of effort to bridge the gap, when each are pushing its own favorite technology.
Eric Ma

Similar Messages

  • Breaking change in MDAC ADODB COM components in Windows 7 Service Pack 1 (repost with MSDN liveID)

    As my MSDN subscription is connected to this liveID, I repost my question in the hope to get a faster answer:
    After I installed Service Pack 1 on my Windows 7 x64 Ultimate my applications which use MDAC 2.8 COM components for database access do not work on other Windows versions any more.
    I hunted this down to changed Interface IDs in the msadoxx.tlb files. On Windows 2008 R2 e.g. the IID of dispinterface _Connection is {00000550-0000-0010-8000-00AA006D2EA4} (defined in msdado28.tlb). When I lookup the same dispinterface on my Windows 7 with
    SP1 (RTM from MSDN) I see this IID {00001550-0000-0010-8000-00AA006D2EA4}.
    That means that all code produced on Windows 7 SP1 using ADODB cannot be run on any other version of Windows as the IIDs differ.
    The CLSIDs still match, so the COM objects get created but due to different IIDs they cannot be used.
    I really hope I am missing something as this change seems to be a massively breaking change in the MDAC API.
    To verify the error you can use code like this in VB6 or equivalent in VB.Net or C# and compile it on Win7 SP1 and run it on Win7 RTM or older versions of Windows:
    Dim cn As ADODB.Connection
    Dim o As Object
    Set o = CreateObject("ADODB.Connection") ' this does still work
    Set cn = o ' this errors when compiled on Win 7 SP1 and run on older versions of Windows due to the changed IID of the dispinterface _Connection
    Regards,
    SvenC

    Ok NEW Fix:
    ===================================================================
    ---- / start: getting around Trusted Installer / ----
    STEP 1) Change owner of  
    "%CommonProgramFiles(x86)%\system\ado\msado28.tlb" to administrator or whatever your current local user is... 
    Then close all security windows.
    You might have to change this registry setting in order to change the owner:  
    (although I'm not sure, I did though.)
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{2A75196C-D9EB-4129-B803-931327F72D5C}
    Right click, Permissions, Advanced, Owner, Change owner to Administrators, Click OK, OK
    STEP 2) Back in the file properties, under Security, Change Permissions to Full Control for your new owner.
    ---- / end: getting around Trusted Installer / ----
    STEP 3) 
    Unregister it:
    Run C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12 -u "CommonProgramFiles(x86)%\system\ado\msado28.tlb"
    STEP 4) Copy in legacy msado28.tlb file (get this from a non SP1 Windows 7 Machine), i.e. overwrite the last one.
    STEP 5) Re-register the new one:
    Run C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12 "CommonProgramFiles(x86)%\system\ado\msado28.tlb"
    ** Now VB6 compiles from a Windows 7 SPK1 machine that reference MDAC 2.8 should work now automatically without changing anything in the project file or references
    Is there somewhere I can download the legacy msado28.tlb file since I have the only W7 machine in the organization?

  • An issue using the COM components supplied with SAP GUI 6.2 or 6.4

    We are having an issue using the COM components supplied with SAP GUI 6.2 or 6.4.  We used to have SAP 4.6c and now we have 5.0.  When we were on 4.6c, we used these COM components to logon and execute RFC calls and we had much success.  Now that we are on 5.0, we can’t seem to instance any SAP functions that have something to do with SAP Workflow.  We have experienced this problem when using VB6 or .NET, but our existing code that always worked is in VB 6.0.
    SAP Components used:
    o     SAP Logon Control
    o     SAP Function Control
    o     Librfc32.dll
    o     Other supporting C DLLs and/or COM object supplied with the SAP GUI installation.
    For example, if we want to call the RFC ARCHIV_CONNECTION_INSERT, this code fails in VB6 when the “Set objworkflow = objFuncCtrl.Add(strFunction)” line of code executes.  Instead of returning an instance of the object ARCHIV_CONNECTION_INSERT function, no object is created.  In 6.2, SAP raises no errors, but the object we are trying to create is still “Nothing”.  If we use 6.4, SAP raises an error “SAP data type not supported” via a message box and then the object is still = Nothing.  Interestingly enough, the 6.2 GUI COM controls don’t display the error dialog.  The message box that is shown comes from the SAP Function COM Object "SAP.Functions" (wdtfuncs.ocx).
    Now, what is interesting is if we use the same code to call a standard function or custom function that doesn’t have anything to do with SAP Workflow, then the code works fine.  Again, all of our code used to work just fine on an SAP 4.6 system.
    Here is the code that fails:
        'SAP Logon control - object for creating connections to an SAP system
        Dim objSAPLogonCtrl As Object
        'SAP connection object
        Dim objConnection As Object
        'Object that will represent the SAP function called
        Dim objSAP As Object
        'SAP function control object - object factory for creating other SAP function objects
        Dim objFuncCtrl As Object
        'Create instance of an SAP logon conrol
        Set objSAPLogonCtrl = CreateObject("SAP.Logoncontrol.1")
        'Create a connection object
        Set objConnection = objSAPLogonCtrl.NewConnection
        'Define connecion parameters
        objConnection.ApplicationServer = "sapvm"
        objConnection.SystemNumber = "00"
        objConnection.Client = "800"
        objConnection.User = "iissap"
        objConnection.Password = "tstadm"
        objConnection.Language = "E"
        objConnection.TraceLevel = 10
        'call the logon method of the connection object
        If objConnection.Logon(0, True) = False Then
            MsgBox Error
            Exit Sub
        End If
        'Create an instance of the SAP Function control object
        Set objFuncCtrl = CreateObject("SAP.Functions")
        'Set the function control connection object
        Set objFuncCtrl.Connection = objConnection
        'Function name to be generated and called
        Dim strFunction As String
        strFunction = <b>"ARCHIV_PROCESS_RFCINPUT"</b>
        'Create an instance of the function defined in strFunction
        Set objworkflow = objFuncCtrl.Add(strFunction)
        If objworkflow Is Nothing Then
            MsgBox "Could not create object " & strFunction
        Else
            MsgBox strFunction & " object created."
        End If
    If anyone has seen anything like this or has any ideas, please help!
    Mike and Hameed
    <b></b>

    Hi,
    documentation on the Scripting API is available at ftp://ftp.sap.com/pub/sapgui/win/640/scripting/docs/
    This API is a replacement of the existing, obsolete COM interfaces.
    Best regards,
    Christian

  • Installation outlooksoft error: Assigning COM+ Components: Error

    All,
    i am roger.
    I have installed one Outlooksoft Server on windows server2003 with MS SQL2005, after installation, when i do server diagnostic, the error occurs, at COM+ Component service entry, it says Osoftdatabase user , assiged error, status error, meanwhile, i found the errors "Assigning COM+ Components: Error" at osoft installation logs. How to correct this errors?
    in addition, when i want to install BPC for office installation or BPC for administation installation from software centers, at the last step, it display," installation incomplete
    -this screen is customizable by customer-,if you need help ,please contact your system administrator."
    what to do next  to solve this problem,
    could you give us advice?
    thanks in advance.

    Hi Roger,
    Is this a single server installation that you are referring to? or is this a multi-server installation. Did the error you receive during the diagnostic occur at the Assigned, Identity, Activation Type, Authentication Level area?
    To me right now this sounds like what happened could potentially be that during the installation you by accident entered the second or third password in the installation incorrectly. There is a bug in the install that only checks the validity of the first password entered and not the second nor the third.
    Regarding the BPC for Office Error I would focus first on getting the server installation fixed before moving on to the next step.
    Let me know
    1) Where the error occurs during the diagnostic
    2) if you are able to login to MS SQL 2005 with the user and password that you entered during the installation.
    Cheers,
    Scott

  • COM Components in Oracle Application Server

    Can i deploy COM Components in Oracle Application Server.
    I see from the documentation that only Java/EJB Components can
    be deployed. Is there anyway by which i can deploy COM
    Components also?
    Thanks and regards
    bala

    What is the basic difference between the >>BC4J in Oracle Internet Application server >>and the Business Components that come in
    JDeveloper 3.1. Business Components for Java consists of both a design time framework and a run time framework. The design time framework is intergrated into the design time tool - Oracle JDeveloper - The run time portion of BC4J is packaged as libraries and available on Oracle Internet Application Server.
    I >>How is the Connection Pool managed by
    the Business Components made >> with JDeveloper 3.1. The Connection Pool is part of iAS.
    Please see their white paper on OTN.
    I >>Are the business components made in
    JDeveloper reusable as in multiple
    projects.Absolutely.
    Code sharing / Sharing Projects across workspaces, etc has always been allowed.
    I hope this helps,
    -John

  • SAP COM components in C#

    I am new to SAP.
    I would like to use .NET C#.
    I was wondering if the SAP COM components would be difficult to use in C#. A lot of extra coding? or trouble calling methods and properties?
    Does anyone know of any surprises or things that might be more difficult to code in C# rather then just using VB. Have to go through a lot of hoops?

    Hi Jack,
    The SAP COM components are quite easy to use in C#, there's no extra effort involved in calling methods or properties. Compared to VB you need to do more "casting" of objects as C# is more strict in its OO approach, but again this is all quite easy to do. As a programming language, C# is very nice indeed.
    Lita

  • Call COM Components using JNI

    Hi,
    Can we call COM Components using JNI? If yes can someone pls guide me how to go about it
    Thanks
    Guriqbal

    JNIWrapper 2.0 Beta with Java-COM integration is already available for download and evaluation. Check the http://www.jniwrapper.com/news.jsp
    Hope this helps.
    EToporov

  • Does PHP 5.1.2 that comes shipped with OAS 10.1.3.4.0 support DOM/XML?

    Hello,
    We have installed OAS 10.1.3.0. PatchSet 10.1.3.4.0. It comes with PHP4 by default and the Oracle HTTP Server. We did the necessary instructions from Metalink and the README on how to enable PHP5. We can bring up Apache with no issues and phpinfo shows PHP 5.1.2. However, the DOM/XML is not enabled in this bundled PHP that came with OAS. Is DOM/XML supported? Is there an Oracle product that bundles PHP that supports DOM/XML? Thanks.

    You would have to make sure the extension is enabled when you build PHP yourself.
    "Installing OCI8 with Oracle Application Server on Linux" in the 2008 edition of http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf has some notes on installing PHP on AS.

  • Business Components and OAS 4.0.8

    I have several projects running in JDeveloper - one of them being a BC4J project, the others a mix of servlets and classes that make use of the BC4J project to interact with the database.
    I have successfully managed to deploy the Business components application to OAS, but I get stuck after that.
    How do I make use of this deployed BC4J application through a JServlet application?

    Hi,
    A colleague of mine mentioned that one may encounter problems deploying to OAS 4.0.8.
    I understand that OAS 4.0.8.1 has major bug fixes and may make deployment substantially easier. Having not attempted either, I cannot verify his statement.
    Hope you have success!
    G.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Subhadip:
    I have created an application using Oracle Business Components and Oracle InfoSwing controls. Now I want to deploy the Business Components as EJB to OAS 4.0.8 and want to run the front end as an Applet which will connect to those EJB Session beans stored in OAS. Please let me know if its possible or not and any document detailing how to do it. To be more specific:
    1) In the properties dialog for the Application Module, in the remote tab, there are options for Oracle8i EJB, CORBA and VISIBROKER, but nothing for OAS. So what to choose there?
    2) If I run Deployment Wizard on the Business Components project with OAS option (selecting nothing in the Remote Tab), it fails (says nothing to parse in the source JAR file)
    3) In the property pallette of the InfoProducer Session object, what to give in the remote proerties for OAS EJB.
    4) It seems that no manual code change is required if they are deployed in Oracle8i or VisiBroker whether they are deployed in Local or EJB or CORBA(the deployment wizard takes care of it). Is it same for OAS EJB deployment also?
    Please help. It's Very Very urgent.<HR></BLOCKQUOTE>
    null

  • How can I use COM components in a delivery extension?

    Here is my situation:
    We have a large software developed by ourselves and this software has an API. This API is a COM interface with a .NET wrapper. When the DLL of the API is loaded, a few other native DLLs with business logic are loaded by it.
    I need to use this API for creating a delivery extension but as soon as the API DLL is loaded the extension can't be loaded anymore. I get the simple error message "extension can not be loaded" when used in the IDeliveryExtension implementation
    or "class not found" when used in the ISubscriptionBaseUIUserControl implementation on opening the subscription page.
    I am not sure what exactly the problem is but I guess the IIS and/or the SQL Reporting Service have a problem with the COM interface.
    What can I do to make this work? Can this even work somehow? Do I maybe need a different approach on this?

    Hi SijinK,
    Iam also facing similar problem.
    When I try to run my CAN application on a system on which NI-CAN s/w is not installed. It gives the error
    "Application failed to initialize properly (0xc0000142)" [error message is attached]. I included all the NI-CAN DLL's[list got using the Depends utility] under my application setup [built using InstallShield V10.0]. It copies the DLL's to the C:\winnt\system32 directory.
    Am I missing any step like registering the DLL's, etc.
    Can you/anyone please help ...
    Thanks in advance
    Vinayak
    Attachments:
    CanAppErrMsg.bmp ‏191 KB

  • EP5 - IISWAM Com+ components

    Still have a very old version of the Portal running, EP5 SP3. We recently had a problem with the registry and lost all entries for the components labeled:
    IISWAM.1__ROOT__SAPPortal__Common__iView_runtime...
    I would grealt appreciate it if anyone had any knowledge on how these components work, how to restore them...
    I have found two files in the C:\WINNT\system32\Registration directory that appear to have all of MMC components entries in them, the file extension is "CLB" to which I have no idea how to use this or restore the information from this file...
    If anyone can shed some light on this it would be greatly appreciated.
    Thanks, Paul.

    Hi Dilip,
    well, first i was a bit afraid to post it but
    [Look here|http://en.wikipedia.org/wiki/Component_Object_Model]
    i find it very useful.
    also because there are more links refering to other useful sites.
    lg David

  • LabVIEW's handling of simple COM Components

    I am a bit of a novice with labView (my disclaimer!), however I am writing a simple c++ com component and I need to specify methods that return more than one value.
    E.g. a method specified in IDL may be:
    [id(1), helpstring("method SendDSPUpgrade")] HRESULT SendDSPUpgrade(
    [in] long a_ModuleNo,
    [in] BSTR a_FilePath,
    [in] long a_Address,
    [out] long* a_MaxSize,
    [out,retval] long* a_ErrorCode);
    Here my COM component wants to populate the a_MaxSize and the a_ErrorCode - so that LabVIEW can use the resultant data.
    Can LabVIEW pass these parameters as pointers, or does it manage automatically like VB, or can this not be achieved ...?
    Thanks,
    Robert.

    Yep,
    LabView handles this automatically, converting to pointers where necessary transparently. I've tried it and it works smoothly.

  • Can you add components to an existing OAS installation?

    Hi All,
    I've not installed multiple components on OAS but let's say you have an existing environment with Oracle Portal...Can you add the Oracle Reports and Forms Services to this installation? Is this transparent?
    Thanks.

    Yes you can add components, but personally I wouldn't do this in a production situation. The main reason is that I don't know what will happen to your custom made settings (e.g. httpd.conf etc.).
    I should admit that I have no hands on experience adding forms and reports afterwards (portal I did and this did work, after some reconfiguring of apache).

  • How to use registrati​on-free COM with TestStand

    We create several different test programs run by TestStand. The sequence typically calls a function in a .NET dll that in turn calls functions in COM objects. We would like to use registration free COM to isolate the programs from each other but I'm having difficulty making it work. I know that in principle the manifest file and COM objects could be put in the same directory as SeqEdit.exe but this is unacceptable. I was thinking that using the activation context might be a way to do it. For example in C#: ActivationContext.CreatePartialActivationContext(ApplicationIdentit​y, string[]). ApplicationIdentity is the application identity of SeqEdit and the string [] parameter contains paths and names of manifest files that describe the needed COM objects. The idea would be to load an activation context with the .NET dll called by the sequence so SeqEdit could find the COM dlls in the same directory as the sequence. I haven't gotten it to work yet. Any ideas?

    Russell1,
    I'm going to try to give as thorough description as I can, since many other users may not understand what you're asking about.
    Normally, a COM server (ActiveX servers are COM servers) is registered with Windows via the registry.  Unfortunately, you can only have one version of the server registered at a time.  This is one of the reasons why TestStand (which is a COM server) needs a version switcher to change between engine versions.
    There is a technology called "Registration-free COM" that allows an application to use a COM server without having it registered in the windows registry.  It involves creating manifest files for the COM server and for the application that is calling the com server.  These manifest files are used by the operating system when the application tries to call the COM server to find the server.  Usually the OS would go to the registry, but it will check the manifest files first.
    The best reference on registration-free COM is an article on MSDN: Registration-Free Activation of COM Components: A Walkthrough.
    A year or so ago, there was a TestStand customer who was interested in forcing some of their applications to use a certain version of a COM server; I was able to get this working for them. 
    I tested the .NET and MFC TestStand user interfaces, and found that I could get registration-free COM working with both.  I found that two .manifest files needed to be created.
    The first is a .manifest file for the COM server.  This was a straightforward process following exactly the instructions in the above walkthrough (Step 7).
    The second is a .manifest file for the UI.  Since the TestStand UIs have their manifest files embedded in the application, I had to modify the .manifest file before building the UI, or use the .NET SDK tool mt.exe.
    After creating both manifest files, I found that adding them was enough to make .NET calls to the COM server work correctly if the application and server were in the same directory. 
    Unfortunately, I did not do any testing with having the COM server in a different directory.
    Now, on to your question:
    I just did some poking around on MSDN, and I have found the following information.
    Note that after you have configured a .manifest file for your COM server, it is then referred to as an "assembly".  I am making an assumption here (but I think it's a reasonable assumption) that after this, the COM server can be used just like any other assembly.  Specifically, it will be searched for in the same way an assembly is searched for.
    MSDN documents How the Runtime Locates Assemblies.  Note near the bottom of that page, if the assembly has not been bound to before, and it is not in the Global Assembly Cache (GAC), it will probe for the assembly.  From this I think the following are possible solutions.  Please note that I haven't tested any of them.
    MSDN documents the Probing behavior.  Note that it will only probe in sub-folders of the current application root directory ([application base]).  Note that there is also some information at the bottom of the page about COM interop scenarios.  I think what it is saying is that if you already are in an assembly, and call a COM server, it will look in the same folder as that assembly for the COM server.  This might be a possible solution for you.
    There is also an AssemblyResolve event that is fired if the CLR is unable to locate the assembly.  I don't know if this event is fired in the case that the COM server cannot be found, but if it is, you could then define your own way to search for the server.  I found this information in a blog post by Microsoft developer: https://blogs.msdn.com/junfeng/archive/2006/03/27/​561775.aspx
    One last possibility is to use an Application Configuration file; which is similar to a manifest file.  According to that page, there is an element called 'probing' that you can use with Windows 7 or Windows Server 2008 R2 when defining assembly binding to specify relative paths to probe for the assembly.
    I honestly don't know if any of these possibilities will work.  Please let me know if you get it working or if you need some more help, and I'll do my best to assist you.
    Message Edited by Josh W. on 02-04-2010 03:23 PM
    Josh W.
    Certified TestStand Architect
    Formerly blue

  • OAS 4.0.8 installation problem

    I tried to install OAS 4.0.8 on a WinNT4 server with SP5 and got no luck. My PC is a standalone server and is not connected to the network. The error message I got is
    " starting wrb service 2"
    " PANIC: YS: ERROR::BADFRAME in oassrv at line 66 of m:\ntoasopt0725999\ows\srchome\yssrc\ys\yse.c"

    Hey friend,
    you should use SP1 from Microsoft on window nt4. That's shit. However, I have a problem too. I am trying to test the sample apps that come witht the oas, but they don't work. Let me know if any luck...

Maybe you are looking for

  • How can I play sound from my MacBook Pro through my iMac?

    I have a MacBook pro which I am looking to use for only iTunes or Spotify for the time being but the iMac built in speakers are better. I am internet sharing from an ethernet on my iMac and the Macbook pro is connected to the shared network. Can I pl

  • URGENT- Need advice on executing scripts from Forms 6i

    Hi all, Quick background info: I'm working on a conversion project from Forms 4.5 client/server applications to a three tier, web based Forms 6i environment. We're running Oracle 8i DB on HP-UX machines, Oracle 9ias on HP-UX machines, and users acces

  • Paste only visible numbers in Excel

    How would I copy and paste "1.41999995708465", which appears on my screen as "1.42", to actually be "1.42"?  I am comparing the result of a calculation in one column to a rate table in another column.  Both are actually 1.42. In other words, when usi

  • Built in Insert record wizard php application

    Dreamweaver has an built in application object that allows you to insert data from a form directly to a database. After submitting you can go to a web page. In the code there is something like this $insertGoTo = "yourpage.htm". What I would like to d

  • Process Chain delays

    Process chain delay has default of 5 sec ,can that be reduced ?? is there any functional module,or program which can reduce this delays more?? thanks