Preferred approach - Querying Across Multiple Schemas

All,
I am using two schemas within the same database as the source for my OBIEE repository/subject area. My question is whether anyone has a compelling argument or preference for setting up OBIEE to handle requests across the schemas as either:
1. Set the connection pool property to 'Require Fully Qualified Table Names'
2. Setup synonyms between the schemas for the tables that need to be exposed
Just curious how others do it. I believe Synonyms may add on a small performance hit but I believe it would be negligible compared to qualifying the table with the schema name.
Thanks,
K

There is no overhead in using synonyms to an object in another schema. In fact that's the best practice in my opinion. We have 3 DWHs in OBIEE each in its own schema. We also have a special OBIEE_RO account that has only select grants to all DWH objects and synonyms for all of them. We coded a script that generates all the grants and synonyms so we can re-run it when we add new objects. This assures we can use a single account for a OBIEE which is much more simpler to maintain. It also means we can share conformed dimensions between different DWHs.

Similar Messages

  • Best workaround for querying across multiple Data Sets?!

    Hi folks
    Today I was migrating my older OEID 3.0 applications to 3.1, and I noticed some of my older version views are not working anymore in new version.
    We used to have multiple Bulk Add/Replace (without specifying Collection Keys) and we could use any attributes from any of these, in a certain View for example.
    My views were like SELECT SUM("an attribute/metric from Bulk Add_1") / SUM("an attribute/metric from Bulk Add_2")
    Now that you have to specify a FROM clause in your views, and it has to be from a certain Data Set, whats the best way to achieve above line goal?
    Bests,

    Patrick
    What I meant by Cross Join is Cartesian Product in situation that you have many-to-many relations between 2 Data Sets
    Lets say, I have to different data, coming from 2 totally different source, one from Sales Dept and the other one from Purchase Dept:
    Sales Table:
    Part Number
    Sales QTY
    Sales Date
    Part Type
    Manufacturer
    Country
    0001
    70
    10/5/2012
    TYPE1
    Manuf1
    US
    0001
    120
    10/6/2012
    TYPE1
    Manuf1
    US
    0001
    350
    10/7/2012
    TYPE1
    Manuf1
    US
    0002
    100
    10/8/2012
    TYPE2
    Manuf2
    US
    0002
    80
    10/9/2012
    TYPE2
    Manuf2
    CA
    0003
    2500
    10/10/2012
    TYPE3
    Manuf3
    CA
    0004
    180
    10/11/2012
    TYPE4
    Manuf4
    US
    Purchase Table:
    Part Number
    Purchase QTY
    Purchase Date
    Part Type
    Manufacturer
    Country
    0001
    50
    10/5/2012
    TYPE1
    Manuf1
    US
    0001
    60
    10/6/2012
    TYPE1
    Manuf1
    US
    0001
    100
    10/7/2012
    TYPE1
    Manuf1
    US
    0001
    200
    10/8/2012
    TYPE1
    Manuf1
    US
    0002
    1100
    10/9/2012
    TYPE2
    Manuf2
    US
    0003
    20
    10/10/2012
    TYPE3
    Manuf3
    US
    What is the preferred approach to ingest this data?

  • Full text query across multiple columns

    In the SQL Server, when you do the full text query, you can specify multiple columns, e.g.
    FREETEXT ( { column_name | [b](column_list) | * } , 'freetext_string' [ , LANGUAGE language_term ] )
    CONTAINS ( { column_name | [b](column_list) | * } , '< contains_search_condition>' [ , LANGUAGE language_term ])
    Where,
    column_list Indicates that several columns, separated by a comma, can be specified...
    * Specifies that all columns in the table registered for full-text searching should be used to search for the given contains search condition. The columns in the CONTAINS clause must come from a single table...
    That makes full text query cross multiple columns very convenient. Are there any mechnisms in Oracle to do the same thing?
    Thanks in advance.

    Thanks for your reply.
    I knew that you could build full text index for the multiple columns using Oracle Text. But that does not solve my problem, which is how to build the query to search multiple columns at once. Say, I have columns firstname, lastname, address, and email in the table customers. I want to get the results that ANY column contains 'bob'. In SQL Server, I can do
    select * from customers where contains(*, 'bob')
    that is. But for Oracle, I have to do
    select * from customers where contains('firstname', 'bob') or contains('lastname', 'bob') or contains('address', 'bob') or contains('email', 'bob')
    Can you imagine if I have many columns in many tables and I have to do the query against all columns in all tables? I have to dynamically get all the columns and then build the query string.
    So, any better solutions?

  • Running sql query across multiple (remote) databases

    I'd like to run a query that pulls information from multiple databases which are not on the same machine. Is this possible using SQL Developer?

    If you are still interested, there is a tool that can query multiple databases and save results in a single text file that you can then modify as necessary - see www.bsutils.com/MuSQL.html

  • Sql query across multiple tables ina database

    I have 3 MS Access tables in database that are linked by keyed fields in the table.  Is there a way to fetch only certain records that match a criteria across all three of these tables using the database connectivity toolset VIs?

    Thanks.  I am trying to mechanize/run an SQL query like this 
    SELECT Code_Type.Code_NUM, Code_Type.Code_Word, Word_Type.Parm_Label, Word_Type.Word_Sequence, Word_Type.Num_Words, Parameter_Label.Parm_Label, Parameter_Label.Parm_Name, Parameter_Label.Num_Bits, Parameter_Label.Num_Bits
    FROM (Code_Type INNER JOIN Word_Type ON Code_Type.Code_Word = Word_Type.Code_Word) INNER JOIN Parameter_Label ON Word_Type.Parm_Label = Parameter_Label.Parm_Label;
    while using the VIs in the database connectivity toolset.  How do I code this using these VIs?  I dont see an example of a straight SQL string like this being able to be put into the VIs.

  • How to use ServerApplicationContext to do a remote query across multiple entities

    Hello everybody,
    My data model is like this:
    "Case" -> one-to-many -> "Document"
    Document has  the fields:
    - "IsFinalised" (boolean)
    -  File (large binary)
    My business rule is: 'a Case is closed if all its documents are finalised'.
    I am trying to do a query which returns whether a case is closed using ServerApplicationContext, but I don't want the query to load the large binaries for each Document into memory for given case.
    Does this do the job?
    int IsCaseClosed(int caseId)
    using (var sac = ServerApplicationContext.CreateContext())
    var relevantCase = sac.DataWorkspaces.ApplicationData.Cases.FirstOrDefault(c => c.Id = caseId);
    return relevantCase.Documents.All(d => d.IsFinalised);

    I think what you have is pretty close.  I would probably write it like this:
    bool IsCaseClosed(int caseId)
    bool isClosed = false;
    if caseId > 0
    using (var sac = ServerApplicationContext.Current ?? ServerApplicationContext.CreateContext())
    isClosed = sac.DataWorkspace.ApplicationData.Cases_Single(caseId).Documents.All(d => d.IsFinalised);
    return isClosed;

  • Problem updating CLOBs across multiple schemas

    I am having a problem trying to update CLOB data in a schema owned by a user other than the logged-in user.
    Suppose I have user UA who owns table TA and user UB who owns table TB, and TA and TB contain CLOB columns. TA owns a package PA and TB owns package PB; these packages provide functions for updating the CLOB data via LOB locators.
    I have a JDBC connection logged on as user UA, and I can successfully call package PA to update the CLOB data in TA from my Java app. However, I cannot use this connection to similarly call package PB to update the CLOB data in TB - the app successfully calls CallableStatement.executeUpdate() but then I try to get the output stream of the returned CLOB:
    oracle.sql.CLOB oOraClob = (oracle.sql.CLOB)oCall.getClob(SQLPAR_CLOBCOL);
    Writer oOut = oOraClob.getCharacterOutputStream();
    and I get the following exception on the getCharacterOutputStream() call:
    java.sql.SQLException: ORA-01031: insufficient privileges ORA-06512: at "SYS.DBMS_LOB", line 498 ORA-06512: at line 1
    This is despite user UA having execute privilege on PB and update on table TB.
    I only get this problem when I try to update the CLOB directly from JDBC - I have another function in package PA which copies CLOB data directly from TA to TB and that works without any problem. Given this, I tried writing a procedure in PA to act as a kind of proxy between PB's CLOB-update function and user UA, i.e. UA calls a proc in PA which in turn calls PB which returns a LOB locator to PA, which in turn returns the LOB locator to user UA, but this still gave the same error.
    Does anyone know what might be causing the problem? Is there some user permission I'm missing?
    I don't want to have to use a separate DB connection as user UB just to update the CLOB. The only other solution I can see at present is to pass the string data to PA as a LONG and have PA copy the data to the LOB locator returned by PB. How could I achieve this? Is there a built-in function which enables a LONG to be copied to a CLOB?
    Any help would be very much appreciated. Thanks.
    Al.
    null

    Ian - You can use a different schema for each application while keeping the applications in a common workspace. This would allow users to authenticate once and for the applications to share the same authenticated session. In doing this, however, a user has to be given links from one application to another, e.g., from a menu page, in order for the "session continuity" to remain unbroken (a requirement to prevent another login challenge). But since these may be unrelated applications that have no need to access one anothers' session state, it might be better to use Single Sign-On. With this method there is only one login required and a user can access each application which will maintain its own private session.
    Scott

  • Query across multiple databases

    Hi,
    One shot question: is it possible in Oracle to write a query joining two tables from different databases ?
    I used MS SQL, and it was duable there, but I have to port app to Oracle, and I did not manage to do this on oracle.
    I use oracle 9
    Thanks.
    pesq

    1. Create an account on the remote database with permissions to select from the relevent tables.
    2. Create a database link in the local database to connect to the account (step 1.) in the remote database.
    3. Now execute you query in the local database connecting to the tables in the remote database.
    SELECT local_a.col1, local_a.col2, rmt_a.col5
    FROM local_table local_a, remote_table@<name of link> rmt_a
    WHERE local_a.key = rmt_a.key;

  • Duplicating a query across multiple fields

    Hi
    We have a form for looking-up person information. It consists of a single-record block (PERSON) with fields like PERSON.PERSON_SURNAME and PERSON.PERSON_FORENAME. User's use the built in Enter Query and Execute Query buttons to find records. However, there are also fields such as PREVIOUS_SURNAME which users often don't bother to query which results in them creating duplicate records when they don't find the record they're looking for.
    I was wondering if there's a way to capture the query that the user has entered and extend it to other fields? For example, if they entered 'SMITH%' in the PERSON_SURNAME field, instead of the form creating the query:
    "select * from person where PERSON_SURNAME like 'SMITH%'"
    it would run:
    "select * from person where PERSON_SURNAME like 'SMITH%' or PREVIOUS_SURNAME like 'SMITH%'"
    Also, some users forget to include a % in their query so I was hoping there was a way to effectively add one to every query automatically.
    This would be fairly straight-forward if we used a custom query button but is there any way to do it while still using the built-in toolbar buttons?
    Thanks

    Thank you both for your replies. I tried Craig's suggestion and created this KEY-EXEQRY trigger:
    declare
         xwhere   varchar2(2000);
    begin
    xwhere := null;
    if :PIN is null and :UPN is null then --User doesn't know specific details so do fuzzy search
         if :PUPIL_SURNAME is not null then
              :PUPIL_SURNAME := :PUPIL_SURNAME||'%';
              xwhere := '(pupil_surname like '''||:PUPIL_SURNAME||''' or prevname like '''||:PUPIL_SURNAME||''')';
         end if;
         if xwhere is not null and :PUPIL_FORENAMES is not null then
              xwhere := xwhere||' and ';
         end if;
         if :PUPIL_FORENAMES is not null then
              :PUPIL_FORENAMES := :PUPIL_FORENAMES||'%';
              xwhere := xwhere|| '(pupil_forenames like '''||:PUPIL_FORENAMES||''' or preffname like '''||:PUPIL_FORENAMES||''')';
         end if;
         if xwhere is not null and :PUPIL_DATE_OF_BIRTH is not null then
              xwhere := xwhere||' and ';
         end if;
         if :PUPIL_DATE_OF_BIRTH is not null then
              xwhere := xwhere||'pupil_date_of_birth = '||:PUPIL_DATE_OF_BIRTH;
         end if;
         SET_BLOCK_PROPERTY ('PUPIL',DEFAULT_WHERE,xwhere);
    end if;
    execute_query;
    end;The problem is, it seems to be disregarding the SET_BLOCK_PROPERTY function or overwriting it after the trigger. Adding the % seems to work (line 7) because I'm literally changing the contents of the field but the other fields aren't being queried. I don't believe simply setting
    :PUPIL_SURNAME := :PUPIL_SURNAME||'%';
    :PUPIL_PREVIOUS_SURNAME := :PUPIL_SURNAME;would work because forms will treat this as and AND query and I need it to be an OR.
    Any other suggestsions?
    Thanks
    Edited by: Andrew V on May 24, 2013 11:05 AM

  • How do you query across multiple datasources?

    I am trying to query data from an Oracle database and a DB2 database using bind variables. (10.1.3.2). I have created a data template as follows:
    <dataTemplate name="PMHUBS">
         <dataQuery>
              <sqlStatement name="Q1" datasourceref="PMDWTST">
                   <![CDATA[select      RGN.RGN_NAME,
             DSTRC.DSTRC_NAME,
          HUB_INFO.EXEL_HUB_TYPE,
          HUB_INFO.TOUCHPT_ID,
          HUB_INFO.EXEL_HUB_TYPE
    from      EXEL_DIRECT.DSTRC DSTRC,
          EXEL_DIRECT.RGN RGN,
          EXEL_DIRECT.HUB_INFO HUB_INFO
    where   DSTRC.DSTRC_ID(+) =HUB_INFO.DSTRC_ID
    and      RGN.RGN_ID(+) =DSTRC.RGN_ID
    Order by       HUB_INFO.TOUCHPT_ID,
    RGN.RGN_NAME,
    DSTRC.DSTRC_NAME,
    HUB_INFO.EXEL_HUB_TYPE]]>
         </sqlStatement>
         <sqlStatement name="Q2" datasourceref="EXBASETD DVLP1">
         <![CDATA[SELECT HBMHBCD FROM EXDBASETD.EMP012
    WHERE HBMHBCD=:TOUCHPT_ID]]>
              </sqlStatement>
         </dataQuery>
    </dataTemplate>
    I get the error message: ORA-00903: invalid table name. Each sql statement works separately. I can take the 2 sql statements and concatenate them and get the XML output, but I seem to be doing something wrong using a data template.
    Help?
    Thanks
    Phil Slater

    I was missing the GROUP part of the dataTemplate!
    I didn't find the manuals that helpful with this. You have to add the datasourceref to each SQL:, and then add a GROUP in a DataTemplate.
    <dataTemplate name="JOINS_TEST " dataSourceRef="EXDBASETD DVLP1">
    <dataQuery>
    <sqlStatement name="DB2 HUBS">
    <![CDATA[     SELECT HBMHBCD
                              FROM EMP012
                             WHERE HBMEXAG = 'E'
                         AND HBMSTAT = 'ACTV'
                    ORDER BY HBMHBCD
                    ]]>
    </sqlStatement>
    <sqlStatement name="ORACLE HUBS" dataSourceRef="PMDWTEST">
    <![CDATA[     
                    SELECT TOUCHPT_ID
                      FROM HUB_INFO
                     WHERE EXEL_HUB_TYPE='EXEL'
                 AND :HBMHBCD = TOUCHPT_ID
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_HUBS" source="DB2 HUBS">
    <element name="HBMHBCD" value="HBMHBCD"/>
    <group name="G_ORACLE HUBS" source="ORACLE HUBS">
    <element name="TOUCHPT_ID" value="TOUCHPT_ID"/>
    <element name="REG_ID" value="REG_ID"/>
    </group> -- PMDWTEST
    </group> --- EXDBASETD
    </dataStructure>
    </dataTemplate>

  • Spatial Query across schemas. one version enabled table another not -Hanged

    Hi,
    I am executing a PL/sql procedure where a Spatial query run across two schemas. One table(in x schema) is version enabled and second table(in y schema) is Unversioned. Add to that complexity I am running the procedure from third user logon. I think I have enough previleges, as I won't get any error message.
    But, Procedure worked fine when there is no table is version enabled. It started giving problem when one table got version enabled.
    I have tried by setting " DBMS_WM.Gotoworkspace('LIVE');" before running spatial query. But still no luck, process just hangs on the spatial query.
    I tried by using physical name of the Table (table1_LT) which is making it to work. But, as per Workspace manager guide, applications, programs should NOT use, this physical tables(because it is not the correct way on versioned table).
    1. How can I hint to my query, to use a table from only live version?
    2. Why Query is hanging forever (even tried by leaving it over night....)
    Normally it used to take one or two minutes(before versioning..)
    I have posted it Workspace manager forum, But No Luck (people seems to be shy away after seeing "Spatial query" )
    Any help is highly appriciated

    Hi,
    I will need to know more details about the specific query you are performing. So, please do the following:
    1. list the actual query that you are using
    2. generate an explain plan of the query both before and after the table was version enabled. use @?/rdbms/admin/utlxpls or anything that generates the predicate information.
    3. also, give any pertinent details about the table(size of the table, number of rows expected to be returned, column types in the table, etc).
    Based on that, I will see if I can suggest a possible hint that may be able to improve the performance of your query.
    Regards,
    Ben

  • How to identify a user across multiple pages

    Hi,
    I'm doing a homebanking and I would like to know how to identify a user across multiple pages.
    I have already take a look at HTTPSESSION, but I didn't understand.
    Can someone help me.
    I'm send the servlet Logon.
    import java.io.*;
    import java.sql.*;
    import java.util.Date;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class Cons_logon extends HttpServlet
         private Connection conexao = null;
         Login1 login1;
         public void init (ServletConfig cfg) throws ServletException
              super.init(cfg);
              try
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                   conexao = DriverManager.getConnection("jdbc:odbc:bank");
              catch (Exception e)
                   System.out.println(e.getMessage());
         public void doPost (HttpServletRequest req,
    HttpServletResponse res)
    throws ServletException, IOException
              String Suser, Spassword;
         PrintWriter out;
              res.setContentType("text/html");
    out = res.getWriter();
    String opcao = req.getParameter("log");
    Thanks

    I would recommend using the authentication mechanism that's guaranteed by the servlet spec. If you do that, you can just call
    request.getRemoteUser()
    to get the user name across multiple pages.
    If you want to use your own login scheme, you can create a new session object and map it to a user name somewhere in your app. Or you can just put the name of the user on the session. But the preferred way is to use the default authentication scheme defined by the spec.

  • Single schema or multiple schemas

    Hello
    A few years ago I worked on a greenfield project where we were building a system to serve 20 or so different departments with 1200+ users. The approach the existing DBA had taken was to use a single schema for all objects and for all apps. The big advantage I found with this approach was for development, we could have one database and each developer could develop whatever they wanted in their own schema. Name resolution meant that they could override the main copy of whichever object they were working on just by having it in their schema. Unfortunately the project went nowhere and I left after 3 months so I never got to see what issues were raised with the system in production. So I'm wondering, has anyone else taken this approach and if so what would you say are the main things to be wary of? Especially things that aren't a problem when the objects are distributed between multiple schemas.
    Thank you in advance
    David

    user12065404 wrote:
    Hi Ed
    Thank you for your reply. I think I need to clarify what I meant a little.
    On a number of sites I've been to there have been multiple applications spread out over multiple schemas for the same business unit. To draw on the emp example it would be like having the EMP schema containing the emp table and the DEPT schema containing the dept table, with a single HR application (for a single buisness unit/department) selecting from both. If you scale this up to 000s of tables and 30 odd schemas, it's a bit of a nightmare from the perspective of code location and permissions because each department needs to look across schemas to get all of the data to do their job. Effectively tables and code had become segregated into separate schemas by business "function" and it means that the applicaitons are so intertwined with the different schemas that to have more than one business unit means you either need a completely separate database or you have to look at VPD.
    App         SCHEMA      Table
    HR          emp         emp
    dept        dept
    Invoicing   emp         emp
    invoicing   inv
    contracts   contract
    orders      ORDER
    Ordering    emp         emp
    contracts   contract
    orders      ORDER
    orders     orderitem
    ...The advantage I saw with a single schema for all the data for a single business unit is the one you have mentioned - i.e. you can very easily set up a new business unit that is totally separate from the other by having a new schema and point the same version of the same application at it. Or failing that, using VPD. And on top of that, security is simplified - no needing direct grants from one schema to the other and especially not requiring WITH GRANT OPTION in the case of a view that pulls data from various schemas and rights to select from the view have to be grated to a role.
    App         SCHEMA      Table
    HR          abc_ltd     emp
    abc_ltd     dept
    Invoicing   abc_ltd     emp
    abc_ltd     inv
    abc_ltd     contract
    abc_ltd     ORDER
    Ordering    abc_ltd     emp
    abc_ltd     contract
    abc_ltd     ORDER
    abc_ltd     orderitem
    ...The other big advantage I saw was from a development and testing perspective. You can have one testing database supporting lots of developers working on lots of different projects against the same core data set and code. The multiple schema setup I described above means that effectively you need to have one testing database per project - which becomes unmanageable when databases start growing to the TB range.
    David
    Edited by: user12065404 on 26-Mar-2010 08:30
    Saw a typo in my first exampleOK, now it is a lot more clear.
    What you have here is a problem of some data (employee) being enterprise data, and other data being application data.
    I take it your "invoiceing" app is used by the sales side of the business, and "ordering" is used by the purchasing side (my last assignment when I was an apps analyst was the purchasing/inventory control for an auto manufacturer).
    With what I know at this point, I'd have an HR schema, an INVOICING schema, and an ORDERING schema. (Well actually, I'd have SALES and PURCHASING, because INVOICEING and ORDERING are going to have to integrate with other stuff in those areas). Even though invoicing and ordering both have a CONTRACT table, I'd think the properties of a contract for one would be different than the other, so the table design itself would be different. How about tables SALES_CONTRACT and PURCHASING_CONTRACT. Same concept for ORDERS, and both sales and purchasing would need header and details .... SALES_ORDER_HEADER, SALES_ORDER_DETAIL, PURCH_ORDER_HEADER, PURCH_ORDER_DETAIL.
    These two apps need for employee data should be pulled directly from the HR emp table, with access limited to stored procedures that control what data is exposed. Or from materialized views. Never try to maintain the same data in two places at once. It will never maintain consistency.

  • Sharing an iTunes Library across multiple user account and a network.

    Sharing an iTunes Music Library across multiple user accounts.
    Hello Everybody!
    Firstly, this was designed to be run in Mac OS X 10.4 Tiger. It will not work with earlier versions of Mac OS X! Sorry.
    Here's a handy tip for keeping your hard drive neat and tidy, it also saves space, what in effect will be done is an iTunes music library will be shared amongst multiple users on the same machine. There are advantages and disadvantages to using this method.
    • Firstly I think it might be worthwhile to state the advantages and disadvantages to using this approach.
    The advantages include:
    - Space will be saved, as no duplicate files will occur.
    - The administrator will be able to have complete control over the content of the iTunes library, this may be useful for restricting the content of the Library; particularly for example if computer is being used at and education institution, business or any other sort of institution where things such as explicit content would be less favorable.
    - The machine will not be slowed by the fact that every user has lots of files.
    The disadvantages to this system include.
    - The fact that the account storing the music will have to be logged in, and iTunes will have to be active in that account.
    - If the account housing the music is not active then nobody can use the iTunes library.
    - There is a certain degree of risk present when an administrator account must be continually active.
    - Fast User Switching must be enabled.
    Overview:
    A central account controls all music on the machine/network, this is achieved by storing iTunes files in a public location as opposed to in the user's directory. In effect the system will give all users across the machine/network access to the same music/files without the possibility of files 'doubling up' because two different users like the same types of music. This approach saves valuable disk space in this regard and may therefore prove to be useful in some situations.
    This is a hearty process to undertake, so only follow this tutorial if you're willing to go all the way to the end of it.
    Process:
    Step 1:
    Firstly, we need to organize the host library, I tidied mine up, removing excess playlists, random files, things like that. this will make thing a bit easier in the later stages of this process.
    Once the library is tidied up, move the entire "iTunes" folder from your Home directory to the "//localhost" directory (The Macintosh HD) and ensure that files are on the same level as the "Applications", "Users", "Library" and "System" directories; this will ensure that the files in the library are available to all users on the machine (this also works for networks)
    Optionally you can set the ownership of the folder to the 'administrator' account (the user who will be hosting the library.), you may also like to set the permissions of 'you can' to "Read & Write" (assuming that you are doing this through the user who will host the library); secondly you should set the "Owner" to the administrator who will be hosting the library and set their "access" to "Read & Write" (this will ensure that the administrator has full access to the folder). The final part of this step involves setting access for the "Others" tab to "Read Only" this will ensure that the other users can view but not modify the contents on the folder.
    Overview:
    So far we have done the following steps:
    1. Organized the host library.
    2. Placed the iTunes directory into a 'public' directory so that other users may use it. (this step is essential if you plan on sharing the library across multiple accounts on the same machine. NOTE: this step is only necessary if you are wanting to share you library across multiple accounts on the same machine, if you simply want to share the music across a network, use the iTunes sharing facility.
    3. set ownership and permissions for the iTunes music folder.
    Step 2:
    Currently the administrator is the only user who can use this library, however we will address this soon. In this step we will enable iTunes music sharing in the administrator's account, this will enable other users to access the files in the library.
    If you are not logged in as the administrator, do so; secondly, open iTunes and select "Preferences" from the "iTunes" menu, now click the "Sharing" tab, if "share my library on my local network" is not checked, the radio buttons below this will now become active, you may choose to share the entire libraries contents, or share only selected content.
    Sharing only selected content may be useful if their is explicit content in the library and minors use the network or machine that the library is connected to.
    If you have selected "share entire library" go to Step 3, if you have selected share "share selected playlists" read on.
    After clicking "share selected playlists" you must then select the playlists that you intend to share across your accounts and network. Once you have finished selecting the playlists, click "OK" to save the settings.
    Overview:
    In this step we:
    1. Enabled iTunes sharing in the administrator's account, now, users on the local network may access the iTunes library, however, users on the same machine may not.
    Step 3:
    Now we will enable users on the same machine to access the library on the machine. This is achieved by logging in as each user, opening iTunes, opening iTunes preferences, and clicking "look for shared music". now all users on the machine may also access the library that the administrator controls.
    This in effect will mean that the user will not need to use their user library, it will be provided to them via a pseudo network connection.
    As a secondary measure, I have chosen to write a generic login script that will move any content from the user's "Music/iTunes/iTunes Music" directory to the trash and then empties the user's trash.
    This is done through the use of an Automator Application: this application does the following actions.
    1. Uses the "Finder" action "Get Specified Finder Items"
    1a. The user's "~/Music/iTunes/iTunes Music" folder
    2. Uses the "Finder" action "Get Folder Contents"
    3. Uses the "Finder" action "Move to Trash"
    4. Uses the "Automator" action "Run AppleScript"
    4a. with the following:
    on run {input, parameters}
    tell application "Finder"
    empty trash
    end tell
    return input
    end run
    IMPORTANT: Once the script is adapted to the user account it must be set as a login item. in order to keep the script out of the way i have placed it in the user's "Library" directory, in "Application Support" under "iTunes".
    Overview:
    Here we:
    1. Enabled iTunes sharing in the user accounts on the host machine, in effect allowing all users of the machine to view a single iTunes library.
    2. (Optional) I have created a login application that will remove any content that has been added to user iTunes libraries, this in effect stops other users of the machine from adding music and files to iTunes.
    Step 4:
    If it is not already enabled, open system preferences and enable Fast User Switching in Accounts Options.
    Summary:
    We have shared a single iTunes library across multiple user account, while still allowing for network sharing. This method is designed to save space on machines, particularly those with smaller hard drives.
    I hope that this hint proves to be helpful and I hope everybody will give me feedback on my process.
    regards,
    Pete.
    iBook G4; 60GB Hard Drive, 512MB RAM, Airport Extreme   Mac OS X (10.4.6)   iWork & iLife '06, Adobe CS2, Final Cut Pro. Anything and Everything!!!

    how to share music between different accounts on a single computer

  • Newbie question about setting up iTunes to sync across multiple computers

    Hi,
    Right now I am using iTunes primarily for listening to streaming radio. However in about 2-3 weeks after I move, I am considering importing all my CDs into iTunes.
    So my question is this. What can I do before I start that will make my life easier for syncing my iTunes across multiple computers.
    I don't expect the computers to connect to each via internet but I do have a 4 GB flash disk and 230 GB firewire drive that could be used. And since one of the computers is MacBook Pro, I could use it in target mode I think.
    Thanks.

    Authorization only applies to computers. When you update a device any protected content on the device for which the library is not authorised will be removed. Otherwise no attempt is made to remove content that was added by a now deauthorised library.
    There is a separate scheme permitting up to 10 devices (computers, iPhones, iPad or iPod touches) to be registered for automatic downloads of your purchases with a different mechanism for deregistering devices.
    Once you have a file on your computer you can physically copy it to any other computer in the same way that you would copy any other file like a Word document, put it on a disk, email it if not too large, burn it to DVD, stick it on an external hard drive or move it over a network. You can use Get Info. To tell you where it is now and you can drop it into the library at the other end.
    The user tip shows how to backup the whole library and then update that backup efficiently. Such a backup to a portable drive also provides a possible tool for transporting any content to another computer.
    tt2

Maybe you are looking for

  • Can't use most of the apps i need.

    Hello fellow apple users. iPad 1 iOS 5.1.1 At the time i bought the iPad, i paid for a insurence from the store (not apple care). After 3 years my iPad fell few weeks ago and i offered it for repair. After 2 weeks i got a replacement iPad 1. After in

  • Cannot connect to internet

    After about a week of no use, I woke up my Macbook and I can no longer connect to the internet.  The Airport connects to the wireless router, but does not make it to the internet.  I have a Dell and iPad that are connecting okay, but the Macbook no l

  • Policy based nat - can't get it right...

    Hi out there I need to implement some policy based nat to hide a DMZ network on a site - to avoid routing problems. This should also be faily simple by defining a route-map and then looping the traffic around a loopback-interface which is defined as

  • Epilogue.ps not running when exporting from InDesign

    Hello All. Ive added some postscript in the Epilogue.ps file which changes the initial view of my PDFs as follows: [ /PageMode /UseThumbs /Page 1 /View [/Fit ] /DOCVIEW pdfmark Ive edited the default settings (a job ive called small to make lores mul

  • AP groups with same vlans , same ssid but different subnet.

    Hi Members, I have a Cisco Flex 7500 in my datacenter and I need to connect 100 sites , each site with 2-3 APs , each side has its own network and is independent of other sites , the site only need to comunity locally and do not need to access any ce