Several processes write to the SGA during database operation.

Greeting to all ;
From following official document  says  Memory Architecture
Several processes write to the SGA during database operation.
  I thinks DBWn writes updated information from dbbc to data files.
   Server process is fetching required information from data files.
Several processes write to the SGA during database operation !
- What are they ? 

8f953842-815b-4d8c-833d-f2a3dd51e602 wrote:
Thanks sybrand_b
Several processes write to the SGA during database operation.
So your answer is  client process for DML opearations. Ok , i got it.
From the same link ,  Memory Architecture
The server and background processes do NOT reside within the SGA, but exist in a separate memory space.
        Partially i can understand above statement. Here  i have little confusion also - please clarify.
SGA + background process = INSTANCE.
Server process is only available when user is intracting with database.
From official document , bgprocess , server process exist in a separate memory space  - 
-  if so ,  what is  name of the  memory area ?
    Thanks in advance ..
Which memory area?  The one holding the SGA?  The one holding the executing code for any one of the background processes?  The one holding the code for any of the several server processes?
Go here: Oracle Database Instance
and take a look at figure 13-1 and its surrounding discussion.

Similar Messages

  • The process cannot access the file during Crystal Report export

    We are exporting crystal reports into PDF using  ExportToHttpResponse (code snippet below)
          // Getting the type of the report file which has been selected by the user. (which will be REPORT CLASS type)
    Type objType = Type.GetType("WebApplication1.Reports." + ReportName);
    ReportClass SEPREport = (ReportClass)Activator.CreateInstance(objType);
    // GetTypedDataSet()returns an instance of typed data set.
    SEPREport.SetDataSource(GetTypedDataSet());
    SEPREport.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, ReportName );
    Now we have created these REPORTS using Basic Crystal Report 10.5, which comes bundled with Visual Studio 2008 and .Net Framework 3.0.
    Now on our machines, we have never experienced any issues.
    BUT on the DEV server (web server) which has .net Framework 3.0 and in its GAC its has CRYSTAL DLLs version 11.5 (required to create an Object of ReportClass and its related functions) ; sometimes we get the following error while exporting crystal report to pdf:
    The process cannot access the file because it is being used by another process. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: System.Runtime.InteropServices.COMException: The process cannot access the file because it is being used by another process.
    Source Error:
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
    Stack Trace:
    [COMException (0x80004005): The process cannot access the file because it is being used by another process.
       CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext) +0
       CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +525
       CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) +681
       CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options) +105
       CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportOptions options, HttpResponse response, Boolean asAttachment, String attachmentName) +163
       CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportFormatType formatType, HttpResponse response, Boolean asAttachment, String attachmentName) +132
       MSSB.FATools.UI.PlannerReport.CreatePDFDocument() +732
       MSSB.FATools.UI.PlannerReport.btnCreatePDF_Click(Object sender, EventArgs e) +45
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +104
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5615

    This is a cross post:
    The process cannot access the file because it is being used by another proc
    Do not cross post. See the [Rules of Engagement|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement]
    Setting this tread as answered and locking.
    - Ludek

  • Several process listening to the same port number

    I hope I am in the right form (it's the third one I am trying).
    I have server/client application, one server that handles a lot of clients. In general when ever a client approach the server, the server create new process (fork()) that handle the client request.
    I would like to know if there is a problem that several processes (parent and several child processes) are listening to the same port number, is it better to create thread that would handle the client request, instead of creating a child process?
    To better understand the problem I create very simple client and server application.
    This is a part of the server application:
    The server creates a socket, bind to this socket and then listen to this socket.
    After that in a while (1) loop he waits for accept:
    int sockclient = accept(sockId,(struct sockaddr*)(&client_addr), &addrLen);
    When the server get a sockclient (client ask for service) he create new process (fork()) that handle the client request.
    struct sockaddr_in addr, client_addr;
    bzero(&addr,sizeof(struct sockaddr_in));
    addr.sin_family = PF_INET;
    addr.sin_port = 8865;
    bcopy(ent->h_addr_list[0],&(addr.sin_addr), ent->h_length);
    // bind
    bind(sockId,(struct sockaddr*)(&addr), sizeof( struct sockaddr_in));
    If it would help I can add the all code.
    If you knows about articles that talked about this subject It might help too (I am talking about advantages and disadvantages of thread against process but regardless of sockets).

    You might look at this article
    http://httpd.apache.org/docs-2.1/misc/perf-tuning.html
    under the section "accept Serialization - multiple sockets".

  • Write-through Cache behavior during Transactional Operation

    If a put is called on a write-through cache during a transaction(with Optimistic Read-Committed settings) that involves multiple caches some set to write-through and others to write-behind, when will the store operation on the corresponding CacheStore be attempted?
         a) Immediately after the put() is called on the cache but before the transaction commit
         or
         b) Immediately after the transaction is committed irrespective of when the put is called

    Hi Abhay,
         The backing map (in this case, <tt>com.tangosol.net.cache.ReadWriteBackingMap</tt>) is responsible for calling the CacheStore implementation. When "commit" is called, Coherence will synchronously send the data to the backing map; the backing map then determines what to do with the data. In the case of ReadWriteBackingMap, it will either (depending on its configuration) synchronously call CacheStore (meaning that a store exception will interrupt your transaction) or queue the update for later (meaning that any store exception will occur after the cache transaction has completed).
         In 3.0, the <rollback-cachestore-failures> element under <read-write-backing-map-scheme> controls whether CacheStore exceptions are propagated back to the client. If you are using a release prior to 3.0, please see this FAQ Item on CacheStore Exceptions.
         Jon Purdy
         Tangosol, Inc.

  • Yellow status after "No database operations necessary, data unchanged"

    Hi,
    I am loading master data (full) and for some packages I get the message "No database operations necessary, data unchanged" the processing remains with status yellow (no "processing end" message comes for those packages). In the end, I get a red status because it times out.
    Has anyone encountered this problem before? Any idea appreciated
    Thanks!
    Andreea

    Hi,
    In case of master data, the update option for infoobject is overwrite. So if u are trying to load the same data again and again or if no changes are there in the new request at that time u may get this type of error. i am not sure about it. Check once more.
    Hope this helps u a lot.........
    <REMOVED BY ADMIN - DO NOT ASK FOR POINTS>
    Regards
    Ramakrishna Kamurthy
    Edited by: Craig Cmehil on Jul 17, 2008 9:24 AM

  • SEVERE: An exception or error occurred in the container during the request

    hi
    I am using tomcat 4.0 as for my serlvets. I get below exception when processing a request. Please let me know under what conditions do we get such exception
    Aug 31, 2005 12:20:28 PM org.apache.coyote.tomcat5.CoyoteAdapter service
    SEVERE: An exception or error occurred in the container during the request processing
    java.lang.NullPointerExceptionnull at java.io.Writer.write(Writer.java:126)null at java.io.PrintWriter.newLine(PrintWriter.java:254)null at java.io.PrintWriter.println(PrintWriter.java:405)null at java.io.PrintWriter.println(PrintWriter.java:516)null at org.apache.catalina.logger.LoggerBase.log(LoggerBase.java:266)null at org.apache.catalina.core.StandardWrapperValve.log(StandardWrapperValve.java:376)null at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)null at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)null at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)null at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)null at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)null at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)null at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)null at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)null at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)null at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)null at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)null at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)null at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)null at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)null at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)null at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)null at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)null at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)null at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)null at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)null at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)null at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)null at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)null at java.lang.Thread.run(Thread.java:534)null
    Thanks
    Rajesh

    Srikanth,
    Problem is that the exception is not form any PrintWriter object i had instantiated in my servlet code. Infact, the exception comes from a class of tomcat when it is trying to log some information. The basic thing is I am contacting a Geographical positioning server from servlet. The contact is fine and I get requested information back from server. But, once the control comes back to server, I get that exception. If I dont contact the geo server, I dont get any exception.
    Thanks for your immediate reply.
    Rajesh

  • Can multiple threads write to the database?

    I am a little confused from the statement in the documentation: "Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time."
    1. Can multiple threads write to the "Simple Data Store"?
    2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    #include "stdafx.h"
    #include <stdio.h>
    #include <windows.h>
    #include <db.h>
    static DB *db = NULL;
    static DB_ENV *dbEnv = NULL;
    DWORD WINAPI th_write(LPVOID lpParam)
    DBT key, data;
    char key_buff[32], data_buff[32];
    DWORD i;
    printf("thread(%s) - start\n", lpParam);
    for (i = 0; i < 200; ++i)
    memset(&key, 0, sizeof(key));
    memset(&data, 0, sizeof(data));
    sprintf(key_buff, "K:%s", lpParam);
    sprintf(data_buff, "D:%s:%8d", lpParam, i);
    key.data = key_buff;
    key.size = strlen(key_buff);
    data.data = data_buff;
    data.size = strlen(data_buff);
    db->put(db, NULL, &key, &data, 0);
    Sleep(5);
    printf("thread(%s) - End\n", lpParam);
    return 0;
    int main()
    db_env_create(&dbEnv, 0);
    dbEnv->open(dbEnv, NULL, DB_CREATE | DB_INIT_MPOOL | DB_THREAD, 0);
    db_create(&db, dbEnv, 0);
    db->open(db, NULL, "test.db", NULL, DB_BTREE, DB_CREATE, 0);
    CreateThread(NULL, 0, th_write, "A", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "C", 0, 0);
    th_write("C");
    Sleep(2000);
    }

    Here some clarification about BDB Lock and Multi threads behavior
    Question 1. Can multiple threads write to the "Simple Data Store"?
    Answer 1.
    Please Refer to http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    A Data Store (DS) set up
    (so not using an environment or using one, but without any of the DB_INIT_LOCK, DB_INIT_TXN, DB_INIT_LOG environment regions related flags specified
    each corresponding to the appropriate subsystem, locking, transaction, logging)
    will not guard against data corruption due to accessing the same database page and overwriting the same records, corrupting the internal structure of the database etc.
    (note that in the case of the Btree, Hash and Recno access methods we lock at the database page level, only for the Queue access method we lock at record level)
    So,
    if You want to have multiple threads in the application writing concurrently or in parallel to the same database You need to use locking (and properly handle any potential deadlocks),
    otherwise You risk corrupting the data itself or the database (its internal structure).
    Of course , If You serialize at the application level the access to the database, so that no more one threads writes to the database at a time, there will be no need for locking.
    But obviously this is likely not the behavior You want.
    Hence, You need to use either a CDS (Concurrent Data Store) or TDS (Transactional Data Store) set up.
    See the table comparing the various set ups, here: http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    Berkeley DB Data Store
    The Berkeley DB Data Store product is an embeddable, high-performance data store. This product supports multiple concurrent threads of control, including multiple processes and multiple threads of control within a process. However, Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time. The Berkeley DB Data Store is intended for use in read-only applications or applications which can guarantee no more than one thread of control updates the database at a time.
    Berkeley DB Concurrent Data Store
    The Berkeley DB Concurrent Data Store product adds multiple-reader, single writer capabilities to the Berkeley DB Data Store product. This product provides built-in concurrency and locking feature. Berkeley DB Concurrent Data Store is intended for applications that need support for concurrent updates to a database that is largely used for reading.
    Berkeley DB Transactional Data Store
    The Berkeley DB Transactional Data Store product adds support for transactions and database recovery. Berkeley DB Transactional Data Store is intended for applications that require industrial-strength database services, including excellent performance under high-concurrency workloads of read and write operations, the ability to commit or roll back multiple changes to the database at a single instant, and the guarantee that in the event of a catastrophic system or hardware failure, all committed database changes are preserved.
    So, clearly DS is not a solution for this case, where multiple threads need to write simultaneously to the database.
    CDS (Concurrent Data Store) provides locking features, but only for multiple-reader/single-writer scenarios. You use CDS when you specify the DB_INIT_CDB flag when opening the BDB environment: http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envopen.html#envopen_DB_INIT_CDB
    TDS (Transactional Data Store) provides locking features, adds complete ACID support for transactions and offers recoverability guarantees. You use TDS when you specify the DB_INIT_TXN and DB_INIT_LOG flags when opening the environment. To have locking support, you would need to also specify the DB_INIT_LOCK flag.
    Now, since the requirement is to have multiple writers (multi-threaded writes to the database),
    then TDS would be the way to go (CDS is useful only in single-writer scenarios, when there are no needs for recoverability).
    To Summarize
    The best way to have an understanding of what set up is needed, it is to answer the following questions:
    - What is the data access scenario? Is it multiple writer threads? Will the writers access the database simultaneously?
    - Are recoverability/data durability, atomicity of operations and data isolation important for the application? http://docs.oracle.com/cd/E17076_02/html/programmer_reference/transapp_why.html
    If the answers are yes, then TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    Question 2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    Answer 2.
    Definitely yes, You can see data loss and/or data corruption.
    You can check the behavior of your testcase in the following way
    1. Run your testcase
    2.After the program exits
    run db_verify to verify the database (db_verify -o test.db).
    You will likely see db_verify complaining, unless the thread scheduler on Windows weirdly starts each thread one after the other,
    IOW no two or ore threads write to the database at the same time -- kind of serializing the writes
    Question 3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    Answer 3.
    In Your case the TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    doing this You have proper deadlock handling in place and proper transaction usage
    so
    You are protected against potential data corruption/data loss.
    see http://docs.oracle.com/cd/E17076_02/html/gsg_txn/C/BerkeleyDB-Core-C-Txn.pdf
    Multi-threaded and Multi-process Applications
    DB is designed to support multi-threaded and multi-process applications, but their usage
    means you must pay careful attention to issues of concurrency. Transactions help your
    application's concurrency by providing various levels of isolation for your threads of control. In
    addition, DB provides mechanisms that allow you to detect and respond to deadlocks.
    Isolation means that database modifications made by one transaction will not normally be
    seen by readers from another transaction until the first commits its changes. Different threads
    use different transaction handles, so this mechanism is normally used to provide isolation
    between database operations performed by different threads.
    Note that DB supports different isolation levels. For example, you can configure your
    application to see uncommitted reads, which means that one transaction can see data that
    has been modified but not yet committed by another transaction. Doing this might mean
    your transaction reads data "dirtied" by another transaction, but which subsequently might
    change before that other transaction commits its changes. On the other hand, lowering your
    isolation requirements means that your application can experience improved throughput due
    to reduced lock contention.
    For more information on concurrency, on managing isolation levels, and on deadlock
    detection, see Concurrency (page 32).

  • Ability to process several raw files with the same content but with different exposure into the single picture

    Can you add to the Lightroom an ability to process several raw files with the same content but with different exposure into the single picture?
    Base raw files can be given with exposure bracketing during shooting, for example.
    The goal - to get maximum details in darks and lights (if we use the "ligths recovery" or "fill lights" we lose the quality because raw file just have no all required information).
    The similar (but not the same, only the idea) thing - is High Dynamic Range Photography in Adobe Photoshop
    Thank you

    The plugin LR/Enfuse does this already. And of course Photomatix have a plugin available for Lightroom. This essentially amounts to pixel editing, which is beyond the range of Lightroom's metadata editing.

  • Pre-loading the Cache from Database during application start-up

    We are using Spring, Hibernate, Oracle Coherence 3.5.2 Weblogic Webservices
    Our requirement is to pre-load the cache during the application start-up most probably during Authentication/Authorization Service is invoked.
    We plan to load the data for other services from database into Coherence cache so that whenever user access that particular service he ends up hitting the Cache instead of database.
    We would greatly appreciate sample code snippets on how to write CacheInitializerBean with marker to demonstrate the state of cache.

    Hi Rob,
    Thanks for pointing to the article: Pre-Loading the Cache
    In fact i already looked at that article before posting. It just mentions how to load the data from database into Cache.
    What i am looking for is how to make this happen during application start-up. This is my first hurdle.
    The second one is as mentioned in the article http://coherence.oracle.com/display/COH35UG/Pre-Loading+the+Cache
    i wrote following code which never gets populated into cache. Not sure whats going wrong even though i see Hibernate loadAll() method loading all the objects in the console
    public   void populateCache() throws SQLException
        Map<Long, Object>  buffer = new HashMap<Long, Object>();
        int count = 0;
         List<Contract> contractList = this.getHibernateTemplate().loadAll(Contract.class);
         log.debug("contractList size="+contractList.size());
         for(Contract contract : contractList)
             Long key   = new Long(contract.getId());
             Object  value = contract;
             buffer.put(key, value);
             // this loads 1000 items at a time into the cache
             if ((count++ % 1000) == 0)
                  contractCache.putAll(buffer);
                 buffer.clear();
         if (!buffer.isEmpty())
              contractCache.putAll(buffer);
        }We would greatly appreciate your time in helping us resolving two hurdle blocks.

  • Why is it when i download the software update for iphone an error pops out when downloading is finish and processing file is being done...i've already tried several time but still the same result.

    why is it when i download the software update for iphone an error pops out when downloading is finish and processing file is being done...i've already tried several time but still the same result.

    Disasble the computer's security software during the download and update.

  • I tried to install yosemite yesterday and my computer goes through the whole installation process and then to a blank white screen.  I've rebooted, I've reinstalled several times and get the same result.  Two days wasted!

    I tried to install yosemite yesterday and my computer goes through the whole installation process and then to a blank white screen.  I've rebooted, I've reinstalled several times and get the same result.  Two days wasted and I can't use my computer!!

    I don't know if you've already resolved your problem, but I had the same thing, it took me 6 hours to fix it. I had the exact same as you, installed the update and then it went to a white screen. After trying start up holding down cmmd r or holding down the alt key to try to install it again, nothing worked, same result every time. Then an angel came to me here somewhere but I can't find it now to thank him. Start in safe mode, press shift once you hear the start up chime and hold it down until you hear it again. Installation completion box came up and it was working. turn off computer and start up again normally and all is well. Except my final cut pro x doesn't work with it, have to update that now too. same as when I updated to mavericks.
    Hope this helps.

  • The Microsoft Access database engine cannot open or write to the file in Report Builder 3.0

    I am trying to build a report in Report Builder 3.0.  I created the Data Source to point to my Excel file and the Data Set.  I drag a couple of fields on to the canvas and then choose Run.  I get the error:  "The Microsoft Access
    database engine cannot open or write to the file.  It is already opened exclusively by another user".  I am using the Excel driver.  Why am I getting this message?  How can I fix this?

    No, now I am getting the error message again.  It is quite long:
    ERROR [HY000] [Microsoft][ODBC Excel Driver] The Microsoft Access database engine cannot open or write to the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view and write its data.
    ERROR [01S00] [Microsoft][ODBC Excel Driver]Invalid connection string attribute Trusted_Connection
    Please help

  • Write to the database from a BI Publisher report

    I have a requirement to setup a BI Publisher report that writes a snapshot of data to a database table whenever the report is run.
    Putting aside whether doing this is a good idea or not (I'd prefer not to do it for security reasons) if I were to do it in SQL server (that i'm more familiar with) I'd write a stored procedure that does this and enter "exec storedprocedurename" as the report query.
    From searching through this board I see that I'm supposed to use a pipelined function instead of a stored procedure but I'm unclear if once I have setup the pipelined function that I'll be able to achieve my objective of both returning the data to the report as well as writing it to a snapshot table, is this possible? If so then I have some questions as I don't really understand the syntax with my limited pl/sql knowledge.
    create type numset_t as table of number; --where does this go, it doesn't appear to be part of the function?
    create function f1(x number) return numset_t pipelined is
    begin
    for i in 1..x loop
    pipe row(i);
    end loop; -- do I need to do a looP? i just want to do select *...
    return;
    end;
    select * from table(f1(3)); -- again this appears to be outside the function, where does it go?
    Thanks
    Bruce

    Jorge:
    I was looking into something similar some time ago. The suggested solution may or may not work for you, depending on what it is you want to write to the tables. I was trying to write audit information - who ran what report when. Through BI Publisher template variables I could get the who and the when, but not what report was being run, so the report trigger option wasn't of any use to me.
    In the end, I opted to change the attributes of the report so that the "show controls" checkbox is unchecked and make users run all reports through BI Publisher Scheduler. It turns out that reports run via the scheduler have all of that data saved off and you can see it from the Schedules/History display.
    Good luck,
    Gaff

  • Error during database connection to the database : MS SQL Server 2008 R2

    Hi All,
    I am working with ABAP Proxy to Rec JDBC( Integrating XI with MS SQL Server 2008 R2). I am using SAP PI 7.0
    I am getting error in RWB at communication channel monitoring :
    Error during database connection to the database URL 'jdbc:microsoft:sqlserver://10.1.92.111:1433;database=XONTUSERVENTURA_ORG_TEST' using the JDBC driver 'com.microsoft.jdbc.sqlserver.SQLServerDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:microsoft:sqlserver://10.1.92.111:1433;database=XONTUSERVENTURA_ORG_TEST': SAPClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver'
    I have given Connection details at Rec JDBC Communication channel as :
    JDBC Driver as : com.microsoft.jdbc.sqlserver.SQLServerDriver
    Connection : jdbc:sqlserver://10.1.92.111:1433;database=XONTUSERVENTURA_ORG_TEST.
    Please help me in this regard. I really appreciate your valuable information and time.
    Thanks and Regards,
    Ayub.
    Edited by: Ayubsajjid on Feb 15, 2012 8:49 AM

    Hi All,
    Thanks for all your valuable inputs on my question...
    As per all your inputs, we have to install/Deploy the below required jar files in the aii_af_jmsproviderlib.sda file
    ojdbc14.jar
    msbase.jar
    mssqlserver.jar
    msutil.jar
    Can you please tell me from where we will exact this .jar file, bcoz we have search lotzz but we helpless.
    We install from this link http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21599--> we download sqljdbc_3.0.1301.101_enu  file >sqljdbc_3.0>enu-->in that I find sqljdbc.jar and sqljdbc4.jar files only . I cant above said .jar files.
    Please help me.
    Regards,
    Ayub.

  • The Microsoft Access database engine cannot open or write to the file \\fileserver\db\access.mdb

    Hi,
    I have Windows Server 2012 with SQL 2012 Standard SP1. I am using linked server, and Access Database Engine 2010 Redistributable to access my database file made in Microsoft Access (.mdb) from network file server.
    EXEC master.dbo.sp_addlinkedserver @server = N'MyLinkedServer', @srvproduct=N'MyLinkedServer', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'\\myfileserver.mydomain.com\files\mydatabase.mdb'
    My SQL service is running with domain service account MYDOMAIN\SQL1$ , i have added Full control for file share and NTFS permission on my file server folder (C:\Files).
    When I open (as domain admin with UAC elevated permissions) on my DB server SQL Management studio, I can browse tables and everything works.
    The problem is, if I open SQL management studio (as domain admin with UAC elevated permissions) on my File server or any other computer, when trying to browse my linked server i got error:
    TITLE: Microsoft SQL Server Management Studio
    Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
    ADDITIONAL INFORMATION:
    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
    Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "Synesis_3PRO2013". (Microsoft SQL Server, Error: 7303)
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.00.3000&EvtSrc=MSSQLServer&EvtID=7303&LinkId=20476
    When I try to place simlpe Select SQL query I got error:
    OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "MyLinkedServer" returned message "The Microsoft Access database engine cannot open or write to the file '\\myfileserver.mydomain.com\files\mydatabase.mdb'. It is already opened exclusively by another
    user, or you need permission to view and write its data.".
    I do not have any other program using my access database, and user has full control. I am trying to use in security mode - "For a login not defined in the list above, connections will be made without using a security context", i have also tried all four options.
    I am confused becouse it works from SQL server but from any SQL client domain member computer/server it does not work.
    I have same problem in another environment where I have Windows Server 2008 R2 and SQL 2008 R2 SP2.
    Please help.
    -- Hrvoje Kusulja

    NTFS must be fine since it works from same server using same accounts.
    As I understand, adding my access file to Access trusted location could be a problem. I have tried now to add my access database file location to trusted locations for user which is my SQL service user (Windows Service - AD managed service account MYDOMAIN\SQL1$)
    and my test user which I use to connect to sql server as a client from sql management studio. (Account is Domain Admins and have full permissions on SQL server also)
    I have added this .reg:
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security]
    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Documents]
    "LastPurgeTime"=dword:01592874
    "DisablePromptOpenNetworkTrustedDocuments"=dword:00000000
    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations]
    "AllowNetworkLocations"=dword:00000001
    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location0]
    "Description"="My file server"
    "AllowSubFolders"=dword:00000001
    "Path"="\\\\myfileserver.mydomain.com\\files\\"
    I have done this for SQL service account user and my personal test account as I said. I have tried to logoff and restart sql service and all servers also.
    The same problem still persists.
    Anyway, thank you for giving me a hint.

Maybe you are looking for