Automatically/Programmatically setting private connection in portlets

We are creating a BI dashboard with Discoverer Relational 10g and Portal 10g (latest versions). Our dashoard consists of approximately 15 portlets.
We have opted for private connections in which each portal user connects using his own private connection and the VPD is used for data security. We have been able to use the capi.sh scripts to programmatically create 1 private connection per user.
Is there a way to avoid that each of the 50 users have to "customize" each of the 15 portlets to choose their one and only private connection from the list of connections before they see their own data. Please note that we cannot show default data as the data is specific to the user.
we need a way of programmatically preset the connections of each portlet for each user so that the see the data as soon as they enter instead of us spending all the time to explain all the users how to set the connection and then each of them spending time choosing the connections.
Has anyone come up with a solution?
Thanks in advance

Hi Goga
Let's look at your points in turn.
1> You do need to create a database user, granting necessary privileges and sharing required workbooks
2> Yes you do need to have an OID entry for the single sign on piece. Personally I'd use the same username for both single sign-on and the database. It will be far easier for the users, and for you who has to manage it. Thus if a user leaves you will be removing / disabling the same user in both environments
3> You will need to have a private connection for each user. This cannot be done through OEM and can either be done online as you suggest or scriptually using CAPI or using your own script. I know of a company that has created a front-end to Discoverer such that when the user enters their SSO username correctly the system checks to see if a private connection exists for ths user - you can do this if the accounts have the same name - and then creates the connection on the fly if no such account exists. Because the user has a database role they will see all reports shared with them using the role. By the way, the connections are stored in this table in the infrastructure: wwsso_psex_user_info$
4> This is the one that has me confused too. I've been trying to think if there was a way to allow portlets to be accessed using a user's private connection automatically. There isn't exactly. I've been reading the Publising Workbooks in Oracle Application Server guide (page 3-23) and it seems to suggest a way. Here is what it says:
If you choose connections other than the Publisher’s Connection to display data
or allow users to choose their own connection, only those connections that have access to the worksheet defined in the portlet will be able to see it. For example, you create a worksheet portlet using worksheet MyWorkbook.sheet1 and choose the Publisher’s Connection to be user SCOTT and you allow users to customize their database connection. The user SCOTT has shared the MyWorkbook workbook to user MARY but not to user FRED. When user MARY customizes the portlet to use her connection, she will see the contents of MyWorkbook.sheet1. If user FRED customizes the portlet to use his connection he will get an error stating that he does not have access to the worksheet.
This might just be the clue. I think its worth a try. Please let me know how you get on.
Best wishes
Michael

Similar Messages

  • How do I set up my iPhone 4s to sync automatically to iTunes when connected to my iMac via USB?

        How do I set up my iPhone 4s to sync automatically to iTunes when connected to my iMac via USB?  Currently it only syncs when I manually click on sync.
        Somehow I do have my 5th gen. iPod set up to sync automatically with the same iTunes / computer.  But I do not actually see a checkbox for either device.
        (yes, the 'prevent devices from automatically syncing' is unchecked)
    thank you!

    Turn off mobile data?
    Talk to your carrier about the usage increase.
    Googling provides many tips- https://www.google.com/search?q=reduce+iPhone+data+usage&ie=utf-8&oe=utf-8

  • Trying to programmatically set the data-source for a Crystal reports report.

    I've got the following existing procedure that I need to add to in order to programmatically set the data-source (server, database, username, and password) for a Crystal reports report.
     I added the connectionInfo parts, but can’t figure out how to attach this to the existing
    this._report object.
    This is currently getting the connection data from the report file, but I now need to populate this connection data from a 'config.xml' text file.
    Am I trying to do this all wrong?
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using CrystalDecisions.CrystalReports.Engine;
    using WGS.Reports.Reports;
    using CrystalDecisions.Shared;
    using WGS.Reports.Forms;
    namespace WGS.Reports
    public class ReportService
    ReportClass _report;
    ParameterFields paramFields;
    ConnectionInfo connectionInfo; // <- I added this
    public ReportService()
    public void DisplayReport(string reportName, int allocationNo)
    if (reportName.ToLower() == "allocationexceptions")
    this._report = new AllocationExceptions();
    PrepareConnection(); // <- I added this
    PrepareAllocationExceptionReport(allocationNo);
    this.DisplayReport();
    private void PrepareConnection() // <- I added this
    //test - these will come from the config.xml file
    this.connectionInfo = new ConnectionInfo();
    this.connectionInfo.ServerName = "testserv\\test";
    this.connectionInfo.DatabaseName = "testdb";
    this.connectionInfo.UserID = "testuser";
    this.connectionInfo.Password = "test";
    this.connectionInfo.Type = ConnectionInfoType.SQL;
    private void PrepareAllocationExceptionReport(int allocationNo)
    this.paramFields = new ParameterFields();
    this.paramFields.Clear();
    ParameterField paramField = new ParameterField { ParameterFieldName = "@AllocationNo" };
    ParameterDiscreteValue discreteVal = new ParameterDiscreteValue { Value = allocationNo };
    paramField.CurrentValues.Add(discreteVal);
    paramFields.Add(paramField);
    private void DisplayReport()
    frmReportViewer showReport = new frmReportViewer();
    showReport.ReportViewer.ReportSource = this._report;
    showReport.ReportViewer.ParameterFieldInfo = paramFields;
    showReport.ShowDialog();
    showReport.Dispose();
    Any help would be much appreciated.

    Hi Garry,
    Please post SAP Crystal Reports questions in their own forums here:
    SAP Crystal Reports, version for Visual Studio
    We don't provide support for this control now. Thanks for your understanding.
    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.

  • I've got an error when trying to programmatically set a CrystalReports data-source

    I've got the following existing process that I needed to add to in order to programmatically set the data-source (server, database, username, and password) from a config.xml file.
    I added the ‘addDBConnection’ and ‘searchConfig’ parts, and this seems to be updating the existing this._report object, but I’m getting the following error and can’t figure out what is happening.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml.Linq;
    using CrystalDecisions.CrystalReports.Engine;
    using WGS.Reports.Reports;
    using CrystalDecisions.Shared;
    using WGS.Reports.Forms;
    namespace WGS.Reports
        public class ReportService
            ReportClass _report;
            ParameterFields paramFields;
            public ReportService()
            public void DisplayReport(string reportName, int allocationNo)  
                if (reportName.ToLower() == "allocationexceptions")
                    this._report = new AllocationExceptions();
                    addDBConnection(this._report);
                    PrepareAllocationExceptionReport(allocationNo);
                    this.DisplayReport();
            private void addDBConnection(ReportDocument report)
                //Get connection parameters from config.xml file
                string servername = searchConfig("SERVER");
                string databasename = searchConfig("CATALOG");
                string userid = searchConfig("USER");
                string password = searchConfig("PASSWORD");
                //Loop through each table in the Report and subReports, and apply the new login information
                foreach (Table cTable in report.Database.Tables)
                    TableLogOnInfo loi = cTable.LogOnInfo;
                    loi.ConnectionInfo.ServerName = servername;
                    loi.ConnectionInfo.DatabaseName = databasename;
                    loi.ConnectionInfo.UserID = userid;
                    loi.ConnectionInfo.Password = password;
                    cTable.ApplyLogOnInfo(loi);
                foreach (ReportDocument subReport in report.Subreports)
                    foreach (Table cTable in subReport.Database.Tables)
                        TableLogOnInfo loi = cTable.LogOnInfo;
                        loi.ConnectionInfo.ServerName = servername;
                        loi.ConnectionInfo.DatabaseName = databasename;
                        loi.ConnectionInfo.UserID = userid;
                        loi.ConnectionInfo.Password = password;
                        cTable.ApplyLogOnInfo(loi);
            private void PrepareAllocationExceptionReport(int allocationNo)
                this.paramFields = new ParameterFields();
                this.paramFields.Clear();
                ParameterField paramField = new ParameterField { ParameterFieldName = "@AllocationNo" };
                ParameterDiscreteValue discreteVal = new ParameterDiscreteValue { Value = allocationNo };
                paramField.CurrentValues.Add(discreteVal);
                paramFields.Add(paramField);
            private void DisplayReport()
                frmReportViewer showReport = new frmReportViewer();
                showReport.ReportViewer.ReportSource = this._report;
                showReport.ReportViewer.ParameterFieldInfo = paramFields;
                showReport.ShowDialog();
                showReport.Dispose();
            private string searchConfig(string searchText)
                XDocument doc = XDocument.Load("Config.xml");
                string returnValue = "";
                var list = from x in doc.Descendants("param")
                           select new
                               Item = x.Descendants("item").First().Value,
                               Value = x.Descendants("value").First().Value
                foreach (var item in list)
                    if (item.Item == searchText) returnValue =item.Value;
                    //Console.WriteLine("Item ({0}) has a value of {1}", item.Item, item.Value);
                return returnValue;
    Am I trying to do this wrong, or do I need to do more to add the correct connection information?
    Any help would be very much appreciated.

    The code looks good - as long as the variables are correct. (You may want to consider hard coding the logon values as part of your troubleshooting steps).
    Database Vendor Codes are passed by the DB client through the report engine unmodified. E.g.; look at your database documentation for the error. I did not find anything googling the error, so do check the db docs.
    If that does not help, let us know the following:
    Does the report work in the designer?
    What version of CR? Including any Service Packs applied.
    What version of .NET?
    What database?
    How are you connecting to the database? (32 or 64 bit?)
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • Private Connections with Portal

    According to this:
    http://download-east.oracle.com/docs/cd/B14099_19/bi.1012/b14465/author.htm#i1019706
    We can create a gauge to use a Private Connection maintained by a user. When I try to do this, I only see the Public Connections.
    I've logged into SSO, then changed the URL to http://server/discoverer/plus and created a prvivate connection. Then in Portal, I've created a Gauge Portlet but in the Publisher's Connection drop down list, I don't see any Private connections.
    Is the doc wrong? If not, what steps do you need to take in order to expose a Private Connection for a Discoverer item in Portal?

    Hi Jon
    You must not enable SSO for the /discoverer/portlet provider. Discoverer relies on OracleAS Portal to protect the /discoverer/portlet provider URL. You're probably not doing this but just in case, do not specify the Location value as /discoverer, as follows:
    <Location /discoverer>
    require valid-user
    AuthType Basic
    </Location>
    Also, make sure that the OssoIPCheck parameter value in the mod_osso.conf file is set to off.
    To specify that users only see the data they can access with their SSO username:
    In the Users Logged In region of the Select Database Connections setup page for the Discoverer Worksheet Portlet, specify the following connection options:
    a) Select the Use Database connection radio button and specify a Discoverer connection. Note that the connection you specify must be a public connection.
    b) Select the Display different data per user check box.
    c) Select the Use specified database connection but run a separate query per user radio button.
    When you select the above options, Discoverer passes the worksheet portlet user's SSO username to the database. A VPD policy can then use the SSO username to restrict the data that is returned to the worksheet portlet.
    Further, If you use OracleAS Web Cache to cache Discoverer Viewer pages, note that caching for Discoverer does not work if Single Sign-on is enabled.
    Discoverer only uses the SSO identity to determine what data is accessible. Discoverer uses database usernames and roles internally to manage business area access, workbook sharing, and scheduling. In other words, if you create a VPD policy for an SSO user, Discoverer does not restrict the list of workbooks that it displays based on the SSO identity. Discoverer will display all workbooks available to the current username/database connection regardless of the SSO username that was used to login. However, the SSO user will only be able to view worksheet data that conforms to the VPD policy defined for that SSO user.
    I hope this helps
    Best wishes
    Michael Armstrong-Smith
    URL: http://learndiscoverer.com
    Blog: http://learndiscoverer.blogspot.com

  • Attaching a Discoverer Private Connection via role

    Is it possible to define a discoverer viewer private connection that everyone attached to a specific role can view? So far we have seen that a private connection needs to be attached to a username and this can be very problematic if you have 600 users.

    I hope this can helu u!!!
    SET DEFINE OFF;
    CREATE OR REPLACE PACKAGE DISCO_PRIV_CONN IS
    /**********************************************************************=
    * DISCLAIMER: You may be use this AS-IS. There is no support involved=
    and
    * you may use at your own risk.
    * AUTHOR : Caroline Cintra
    * DATE : 27-FEB-03
    * PURPOSE : Currently there is no means provided to create Discoverer c=
    onnections
    * (public or private) in a programmatical way. The below PLS=
    QL
    * package is used to create private connections in Oracle9iAS=
    Release 2
    * 9.0.2.x.
    * Private connections are defined on a per user basis specify=
    ing the
    * user/pwd/connect string to run a Discoverer Report through =
    Viewer.
    * This can be called in a batch program to create multiple Di=
    scoverer
    * connections in bulk.
    * This package must be owned by ORASSO.
    ***********************************************************************=
    -- Error code returned when exceptions are raised in this package
    g_error_code NUMBER := -20220;
    -- Variables used to handle Discoverer private connections (fix values)=
    g_subscriber_id orasso.wwsso_psex_user_info$.subscriber_id%TYPE := 1;
    g_app_id orasso.wwsso_psex_user_info$.app_id%TYPE := '1325';
    g_app_creator orasso.wwsso_psex_user_info$.app_creator%TYPE := 'ORASSO_DS';
    /**********************************************************************=
    * PARAMETERS:
    * p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%type
    *     Oracle Single Sign On user name
    * p_db_username IN orasso.wwsso_psex_user_info$.app_username%type
    * Discoverer (DW) database username
    * p_db_password IN orasso.wwsso_psex_user_info$.app_password%type
    * Discoverer (DW) database password
    * p_eul IN orasso.wwsso_psex_user_info$.fval1%type
    * Discoverer End User Layer in the <p_db_username> sc=
    hema
    * p_conn_name IN orasso.wwsso_psex_user_info$.fval1%type
    * Name of the Discoverer private connection being cre=
    ated
    * p_conn_desc IN orasso.wwsso_psex_user_info$.fval1%type
    * Name of the Discoverer private connection being cre=
    ated
    * p_db_name IN orasso.wwsso_psex_user_info$.fval1%type
    * Discoverer (DW) database name
    * (tnsnames entry defined in the server)
    * EXAMPLE USE: ORASSO.DISCO_PRIV_CONN.CREATE_PRIVATE_CONNECTION (
    * 'JP111111' -- p_sso_username
    * , 'global_user' -- p_db_username
    * , 'global_user_pwd' -- p_db_password
    * , 'EUL9I' -- p_eul
    * , 'default_priv_conn' -- p_conn_name
    * , 'Connection created via API' -- p_conn_name
    * , 'devap' -- p_db_name
    * NOTES:
    * 1) This procedure does not perform a COMMIT of the database transac=
    tions
    * it executes. The reaon for this decision is the fact that this
    * procedure is designed to be called as part of a Single Sign On u=
    ser
    * set up. Therefore, the database operations performed here must o=
    nly
    * be commited when the user set up entire process was successful.
    * 2) If there is a problem creating the connection (e.g. this connect=
    ion
    * already exists), an application exception is raised with the err=
    or
    * code of DISCO_PRIV_CONN.g_error_code.
    ***********************************************************************=
    PROCEDURE CREATE_PRIVATE_CONNECTION(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
    , p_db_username IN orasso.wwsso_psex_user_info$.app_username%TYPE
    , p_db_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    , p_eul IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_desc IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_db_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    /**********************************************************************=
    * PARAMETERS:
    * p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%type
    * Connection identifier
    * EXAMPLE USE: DISCO_PRIV_CONN.REMOVE_PRIVATE_CONNECTION(
    * 'a170' -- p_fld_index
    * NOTES:
    * 1) This procedure does not perform a COMMIT of the database transac=
    tions
    * it executes. The reaon for this decision is the fact that this
    * procedure is designed to be called as part of more complex
    * processes. Therefore, the database operations performed here mus=
    t
    * only be commited when the complete process was successful.
    * 2) If there is a problem creating the connection (no connection was=
    * found based on the input parameters), an application exception i=
    s
    * raised with the error code of DISCO_PRIV_CONN.g_error_code.
    ***********************************************************************=
    PROCEDURE REMOVE_PRIVATE_CONNECTION(
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
    /**********************************************************************=
    * PARAMETERS:
    * p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%type
    * Connection identifier
    * p_new_password IN orasso.wwsso_psex_user_info$.app_password%type
    * Discoverer (DW) database new password
    * EXAMPLE USE: DISCO_PRIV_CONN.UPDATE_PRIVATE_CONNECTION_PWD(
    * 'a170' -- p_fld_index
    * , 'new_global_user_pwd' -- p_new_password
    * NOTES:
    * 1) This procedure does not perform a COMMIT of the database transac=
    tions
    * it executes. The reaon for this decision is the fact that this
    * procedure is designed to be called as part of more complex
    * processes. Therefore, the database operations performed here mus=
    t
    * only be commited when the complete process was successful.
    * 2) If there is a problem creating the connection (no connection was=
    * found based on the input parameters), an application exception i=
    s
    * raised with the error code of DISCO_PRIV_CONN.g_error_code.
    ***********************************************************************=
    PROCEDURE UPDATE_PRIVATE_CONNECTION_PWD(
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
         , p_new_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    /**********************************************************************=
    * PARAMETERS:
    * p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%type
    * Connection identifier
    * p_new_password IN orasso.wwsso_psex_user_info$.app_password%type
    * Discoverer (DW) database new password
    * RETURN:
    * The connection unique identifier (wwsso_psex_user_info$.fld_index)
    * EXAMPLE USE: DISCO_PRIV_CONN.SELECT_PRIVATE_CONNECTION_ID(
    * 'JP111111' -- sso_username
    * , 'my_connection' -- p_conn_name
    ***********************************************************************=
    FUNCTION SELECT_PRIVATE_CONNECTION_ID(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
         , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    ) RETURN VARCHAR2;
    END DISCO_PRIV_CONN;
    CREATE OR REPLACE PACKAGE BODY DISCO_PRIV_CONN IS
    PROCEDURE CREATE_PRIVATE_CONNECTION(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
    , p_db_username IN orasso.wwsso_psex_user_info$.app_username%TYPE
    , p_db_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    , p_eul IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_desc IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_db_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    ) IS
    BEGIN
    INSERT INTO
    orasso.wwsso_psex_user_info$ (
    subscriber_id
    , sso_username
    , app_id
    , app_creator
    , fld_index
    , app_username
    , app_password
    , user_prefs
    , fname1, fval1, fname2, fval2 , fname3, fval3, fname4, fval4
    , fname5, fval5, fname6, fval6, fname7, fval7, fname8, fval8
    , fname9, fval9
    VALUES (
    g_subscriber_id -- subscriber_id
    , p_sso_username -- sso_username
    , g_app_id -- app_id
    , g_app_creator -- app_creator
    , 'a' || orasso.wwsso_jps_seq.NEXTVAL -- fld_index
    , orasso.wwsso_api_private.ENCRYPT_STRING(p_db_username) -- app=_username
    , orasso.wwsso_api_private.ENCRYPT_STRING(p_db_password) -- app=_password
    , '' -- user_prefs
    , 'discard_password' -- fname1
    , 'false' -- fval1
    , 'eul' -- fname2
    , p_eul -- fval2
    , 'connection_name' -- fname3
    , p_conn_name -- fval3
    , 'show_details' -- fname4
    , 'true' -- fval4
    , 'database' -- fname5
    , p_db_name -- fval5
    , 'description' -- fname6
    , p_conn_desc -- fval6
    , 'default_locale' -- fname7
    , 'en-US' -- fval7
    , 'null' -- fname8
    , 'null' -- fval8
    , 'null' -- fname9
    , 'null' -- fval9
         -- If there is a problem, raise exception
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of PROCEDURE CREATE_PRIVATE_CONNECTION
    PROCEDURE REMOVE_PRIVATE_CONNECTION (
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
    ) IS
         l_rowid ROWID := '0';
    BEGIN
    SELECT ROWID
    INTO l_rowid
         FROM orasso.wwsso_psex_user_info$
         WHERE fld_index = p_fld_index;
    DELETE FROM orasso.wwsso_psex_user_info$
    WHERE ROWID = l_rowid;
         -- If there is a problem, raise exception
    EXCEPTION
         WHEN NO_DATA_FOUND THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Discoverer private connection to be deleted does not exist.'
                   , TRUE);
         WHEN TOO_MANY_ROWS THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Too many Discoverer private connections were found (delete).'
                   , TRUE);
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of PROCEDURE REMOVE_PRIVATE_CONNECTION
    PROCEDURE UPDATE_PRIVATE_CONNECTION_PWD (
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
         , p_new_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    ) IS
         l_rowid ROWID := '0';
    BEGIN
    SELECT ROWID
    INTO l_rowid
         FROM orasso.wwsso_psex_user_info$
         WHERE fld_index = p_fld_index;
    UPDATE orasso.wwsso_psex_user_info$
    SET app_password = orasso.wwsso_api_private.ENCRYPT_STRING(p_new_password)
    WHERE ROWID = l_rowid;
         -- If there is a problem, raise exception
    EXCEPTION
         WHEN NO_DATA_FOUND THEN
    RAISE_APPLICATION_ERROR(g_error_code,'Discoverer private connec=
    tion TO be updated does NOT exist.',TRUE);
         WHEN TOO_MANY_ROWS THEN
    RAISE_APPLICATION_ERROR(g_error_code,'Too many Discoverer priva=
    te connections were FOUND (UPDATE).',TRUE);
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of UPDATE_PRIVATE_CONNECTION_PWD
    FUNCTION SELECT_PRIVATE_CONNECTION_ID(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
         , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    ) RETURN VARCHAR2 IS
         identifier orasso.wwsso_psex_user_info$.fval1%TYPE;
    BEGIN
    SELECT fld_index
    INTO identifier
         FROM orasso.wwsso_psex_user_info$
         WHERE
         sso_username = p_sso_username
              AND app_id = g_app_id
              AND p_conn_name = DECODE(
              fname1
              , 'connection_name'
                                       , fval1
                                       , DECODE(
                                       fname2
                                       , 'connection_name'
                                       , fval2
                                       , DECODE(
                                       fname3
                                            , 'connection_name'
                                            , fval3
                                            , DECODE(
                                       fname4
                                            , 'connection_name'
                                            , fval4
                                            , DECODE(
                                       fname5
                                            , 'connection_name'
                                            , fval5
                                            , DECODE(
                                       fname6
                                            , 'connection_name'
                                            , fval6
                                                 , DECODE(
                                       fname7
                                            , 'connection_name'
                                            , fval7
                                                      , DECODE(
                                       fname8
                                            , 'connection_name'
                                            , fval8
                                                      , DECODE(
                                       fname9
                                            , 'connection_name'
                                            , fval9
                                                      , 'INVALIDVALUE'
                                                           ) --fname9
                                                      ) --fname8
                                                 ) --fname7
                                                 ) --fname7
                                                 ) --fname5
                                            ) --fname4
                                            ) --fname3
                                       ) --fname2
    ); --fname1
         RETURN identifier;
         -- If there is a problem, raise exception
    EXCEPTION
         WHEN NO_DATA_FOUND THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Discoverer private connection not found (select).'
                   , TRUE);
         WHEN TOO_MANY_ROWS THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Too many Discoverer private connections were found (select).'
                   , TRUE);
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of PROCEDURE REMOVE_PRIVATE_CONNECTION
    END DISCO_PRIV_CONN;
    SHOW ERRORS;

  • How can I disable iPhoto from automatically starting when I connect my iPhone?

    Whenever I connect my iPhone to my Mac it automatically starts iPhoto?  How can I make this not happen?

    Go into iPhoto's General preference pane and set the Connecting camera opens to No Application:
    OT

  • How to programmatically set initial password when a user is created in OID

    We are using the odihragent synchronization process to automatically create users in OID when an employee record is created. We would like to set the initial password for the newly created user to their last name + the last 4 digits of their SSN.
    The odihragent process is successfully creating the user in OID and populates the last name and the last 4 digits of the SSN in OID. According to an open SR I have with Oracle, we cannot use the odihragent process to set the initial password because any time the employee record is updated, the synchronization process will reset the password to last name + SSN. They have recommended that we use a pl/sql plug-in to set the password using the WHEN_ADD plug-in procedure.
    I am new to using OID and plug-ins and the examples provided in the Developer's Guide are limited.
    I would like to know if anyone else is using plug-ins or another process to set initial passwords when a user is created? If you are using plug-ins would you be willing to share a code sample?

    I am surprised that I have not received any responses... Surely there are others who are experienced with programmatically setting passwords when new users are programmatically created. Does anyone have any pointers on how to best accomplish this?

  • How do i stop iPhoto from automatically opening when I connect my iPhone?

    Hi, well as the title states:
    How do i stop iPhoto from automatically opening when I connect my iPhone?
    It's getting on my nerves...
    Thanks.

    This might also be helpful:
    I wrote an AppleScript that asks me each time I connect the iPhone/camera/etc whether or not I want to open iPhoto. Usually I just hit return and it doesn't open, but once in a while I'll click Yes to open iPhoto and import videos from my phone. I just did it because it's nice to have a little reminder so I don't go for too too long without importing, but not have it slow things down each time I plug in.
    Below is the script. Paste it into AppleScript Editor, then export it as an application. Then set Image Capture to open this app when you plug in your phone. Would love to hear if it's helpful for you or if you modify it to use other criteria to automatically import only at certain times or conditions.
    Nathan
    set question to display dialog "Open iPhoto to import photos?" buttons {"Yes", "No"} default button 2
    set answer to button returned of question
    if answer is equal to "Yes" then
              tell application "iPhoto" to activate
    end if

  • Why does iTunes no longer open automatically when iPad is connected?

    Why does iTunes no longer open automatically when iPad is connected? and iPhone as well?  Setting to "auto open" is selected, but iTunes will not open automatically. Problem seems to have begun with upgrade to Lion.

    Good luck getting an answer...I posted the same question a day ago.   I can only assume it's a glitch in iTunes 10.5.

  • Automatically create user private library

    Hi,,
    I would like to know if it is possible to automatically create the Private Library in '/<domain>/Users/User-<letter>/' when provisioning a user or if the only possibility is to check the box 'Private Library' at the first user connection to Content Services ?
    Was it possible to automatically create the Private Folder in the previous OCS version ?
    Thanks for your response.

    Hi Don,
    I try the sample 1525014 - Sample C# .NET UFL and Localization Formula function. Register it with VS .NET by run install batch file. I can see DotNetSampleClassTestStringLength (name) and DotNetSampleClassTestTranslate (text, sourceLocale, destinationLocale ) under Additional Functions\Com and .NET UFLs (u212com.dll)
    When I did my UFL. It didn't success. I have
    1. Assigning a Strong-Name Key to the Class Library
    2. Adding the Assembly to the Global Assembly Cache
    3. Register UFL with VS .NET (using regasm)
    It success to adding the assembly to the Global Assembly Cache and register with VS.NET. What is my wrong
    Thank
    Chaiwat

  • How to programmatically set the real-time CVI startup DLL?

    Dear NI Support Engineer:
    I'm part of a team of software engineers working on a real-time aerospace app at Honeywell (Coon Rapids, MN campus).  We're using LabWindows/CVI 9.0 and three LabView 8.6 real-time modules.
    Up until now, we've been using the CVI debugger to launch our real-time apps or just copying the app DLL to C:\ni-rt\cvi on the real-time box and setting it as the default startup DLL.
    What we need to do now is create our own directory structure at the root of C: on the real-time box (which, by the way, is using the Reliant file system).
    In fact, we have created directory ug7500 at the root of C: on the realtime box, and two subdirectories (one for data and one for results) directly under directory ug7500.  We'd like to place all of our app DLLs in the ug7500 directory and have the ability to change the default startup DLL programmatically.
    We've been using your LabWindows/CVI Real-time File Copy Utility to set the startup DLL whenever we're not using the debugger.  That was just fine for the first stage of our development.
    At this stage, however, we need be able to set the startup DLL programmatically.  We have not been able to find out how to do this from reading the real-time module documentation.
    Can you either point us at some documentation on programmatically setting the default startup DLL, or e-mail us the instructions, or give us a phone call and explain what steps we must take.
    Thank you very much.
    Vic
    763-957-4168

    Hello All,
    For the reference of anyone else trying to do this, you can modify the INI file to change the startup DLL. Using the INI instrument that ships with CVI (C:\Program Files\National Instruments\CVI90\toolslib\toolbox), you can find the StartupDLLs tag and replace the last value with your startup DLL, such as:
    #include "inifile.h"
    #include <cvirte.h>
    static int status;
    static IniText myINIFile;
    int main (int argc, char *argv[])
     if (InitCVIRTE (0, argv, 0) == 0)
      return -1;    /* out of memory */
     myINIFile = Ini_New (0);
     status = Ini_ReadFromFile (myINIFile, "c:\\ni-rt.ini");
     status = Ini_PutRawString (myINIFile, "LVRT", "StartupDLLs", "c:\\NI-RT\\system\\cvi_lvrt.dll;c:\\ni-rt\\system\\nidevldp.dll;nisysapirpc.dll;niorbp.dll;c:\\ni-rt\\system\\mxsemb.dll;c:\\ni-rt\\system\\nipxism.dll;c:\\NI-RT\\cvi\\myStartup.dll;");
     status = Ini_WriteToFile (myINIFile, "c:\\ni-rt.ini");
     return 0;
    Right now, there are some caveates with using CVI 9.0 to manipulate an INI file to be used on an RT target. The INI functions currently add line breaks automatically for large tag values and adds quotes around the values. For many INI files this is ok (such as TestStand INI files), but it will not work on an RT target. To remove these features, modify the following lines of the inifile.c file located in the same directory as the INI instrument:
    1. On line 38, change the default value of INI_NUM_CHARS_PER_LINE from 80 to a large number such as 8000.
    2. Comment out line 953 (newEntry->addMarkerQuotes = addMarkerQuotes;
    Now you should be able to programmatically change the INI file of your target machine and, therefore, change the startup DLLs.

  • Setting up connection using a single connection string.

    Post Author: DubbleOh7
    CA Forum: Data Connectivity and SQL
    I know about the ConnectionInfo object in for .NET crystal reports, but for security purposes we don't have access to a password of any kind, nor do we pass them around our web pages, they are used for login access only. So how can I just set a connection string for the report to access a SQL Server database? I prefer NOT to do the Dataset work around. Its a busy server and the report could contain up to 20,000 records with lots of fields. Not efficient. I also know I could make an object fill it with data from a data reader, but not sure thats as efficient as just having the report execute the stored procedure I have. I also don't want the report to pop up that login page automatically for the users since they have already logged into the website. I'm looking forward to any ideas or suggestions. Thanks in advance for any info or suggestions you may have!
    Summary:
    I don't want to use datasets due to inefficiency and overhead of several thousand records.
    I just want to be able to use a connection string using windows authentication enabled for the report connection to a SQL Server database.
    This is for SQL 2K5..calling a stored procedure
    Crystal reports for ASP.NET (VB language solutions preferred)
    Basically I'd like to use a trusted connection and
    ReportConnection.ServerName = "SERVER"
    ReportConnection.DatabaseName = "DATABASE"
    ReportConnection.IntegratedSecurity = True
    doesn't get me there.

    If your Internet Service Provider is DSL follow this link

  • Discoverer private connection on 10g

    Hi,
    Can anyone please advise me on the ff issue. I managed to create a private connection for the user, but this gets lost every time he unplugs his laptop and reconnects. Hence the private connection needs to be re-created all the time.
    How can I create the connection and have it stored on the connection page.
    tx
    Saliha

    Hi Saliha
    Presumably you are using Discoverer in stand-alone mode? in this mode private connections are stored as cookies on the client machine. This is done for security purposes. Is your user's laptop somehow setup to automatically delete cookies? If so, try disabling this.
    Another option would be to use a connection on a desktop machine that is permanently attached to your network.
    However, the correct way to have private connections stay permanent is to use a full-blown application server with an Infrastructure database. If you also enable SSO then even the password will be remembered.
    I hope this helps
    Best wishes
    Michael Armstrong-Smith
    URL: http://learndiscoverer.com
    Blog: http://learndiscoverer.blogspot.com

  • Sound Blaster Z - how set autodetect connected headphones (into front panel connector)

    Hello,
    how can I set autodetect connected headphones into front panel on my new Sound Blaster Z?
    I have used to use my onboard soundcard (only to my headphones) together with AMD R290X soundcard (via HDMI to Onkyo receiver).
    Onboard soundcard was set as default audio device in Windows. So If I connected my headphones into front pannel connector, play only my headphones. If I disconnect headphones, onboard soundcard was disabled and soundcard on R290X was now only active audio device, so music playing only from my speaker (receiver Onky via HDMI on AMD R290X).
    Now if I connect my headphones, I have to manualy switch audio device unit in Windows control panel between "SoundBlasterZ" and "R290X HDMI".
    It is very annoying. Is there any way to figure it out?
    Sorry for my bad english, I hope you understand my problem.
    Thank you!

    Originally Posted by prachart
    Hello,
    how can I set autodetect connected headphones into front panel on my new Sound Blaster Z?
    I have used to use my onboard soundcard (only to my headphones) together with AMD R290X soundcard (via HDMI to Onkyo receiver).
    Onboard soundcard was set as default audio device in Windows. So If I connected my headphones into front pannel connector, play only my headphones. If I disconnect headphones, onboard soundcard was disabled and soundcard on R290X was now only active audio device, so music playing only from my speaker (receiver Onky via HDMI on AMD R290X).
    Now if I connect my headphones, I have to manualy switch audio device unit in Windows control panel between "SoundBlasterZ" and "R290X HDMI".
    It is very annoying. Is there any way to figure it out?
    Sorry for my bad english, I hope you understand my problem.
    Thank you!
    Hi prachart,
    You will need to set Sound Blaster Z as the default playback audio device in the window control panel -> sound -> playback. Make sure you connect the physical connector from the front panel to the Sound Blaster Z card. This will let you plug into the headphone and able to playback. However, the AMD R290X HDMI port will not be able to have any sound as the default playback device set to Sound Blaster Z and it will not automatically release control and toggle to the available plug-in device.
    You will need to go to control panel to toggle again if you want to have the sound from the HDMI port.
    I am sorry if the above are not much help but this is the design implementation of the sound card so that there is no compromise in the sound quality.

Maybe you are looking for

  • Adobe Form used by more than one user simultaneously

    Friends, I am working on an online interactive Adobe form using Web Dynpro ABAP. once the user enters the data and clicks the submit button, the data is sent to ztables. the scenario is that more than one user can possibly use the same form simultane

  • Apache2.2+PHP+MySQL

    Pliz, I need ur help... For creating new database connection I've entered name of connection, server - MySQL - localhost, name - root, password, database - ( i have for select 3 ways - information_schema, mysql and test) whatever I have selected, I p

  • Deployment Error in Web DynPro

    Hi, I m getting the following error when i deploy any WD Application. J2EE engine is running and i changed the Visual Admin password from abcd1234 to new password. After this, I am getting this error. It says User authenitication failed. Aborted: dev

  • HsvWebSessionWSP.dll possible dependencies for regsrv32 sucess

    I am trying to register the dll in regsrv32 regsvr32 command E: \ Oracle \ Middleware \ EPMSystem11R1 \ products \ FinancialManagement \ WebServices \ HsvWebSessionWSP.dll the resulto is an error: The module E: \ Oracle \ Middleware \ EPMSystem11R1 \

  • I am getting this "ORA-24381: error(s) in array DML error" in the code

    declare TYPE RehrCD_TYP IS TABLE OF wk_rehr_entity_hierarchy.wk_rehr_cd%TYPE; TYPE RehrParentCD_TYP IS TABLE OF wk_rehr_entity_hierarchy.wk_rehr_parent_cd%TYPE; TYPE RehrESSPath_TYP IS TABLE OF wk_rehr_entity_hierarchy.wk_rehr_ess_path%TYPE; L_levelR