Click to Rate and Give Feedback
Community Content
In this section
Statistics Annotations (0)
Collapse All/Expand All Collapse All
This page is specific to
The 2007 product release

Other versions are also available for the following:
ApplicationRegistry Class (Microsoft.Office.Server.ApplicationRegistry.Administration)
Provides access to all of the line-of-business (LOB) systems and LOB system instances registered in the Business Data Catalog. This is the top-level object in the Business Data Catalog's object model. It is the entry point for you to create, read, update and delete all the metadata objects including LobSystem, Entity and Method. The ApplicationRegistry object has its own ACL and a user should at least have the Edit right on it to create a new LobSystem.

Namespace: Microsoft.Office.Server.ApplicationRegistry.Administration
Assembly: Microsoft.SharePoint.Portal (in microsoft.sharepoint.portal.dll)
Visual Basic (Declaration)
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel:=True)> _
Public Class ApplicationRegistry
    Inherits IndividuallySecurableMetadataObject
Visual Basic (Usage)
Dim instance As ApplicationRegistry
C#
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel=true)] 
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel=true)] 
public class ApplicationRegistry : IndividuallySecurableMetadataObject

The Business Data Catalog is implemented as an Office SharePoint Server 2007 shared service and is shared across a Shared Resource Provider. Therefore, before you can use the ApplicationRegistry object, you need to specify the Shared Resource Provider associated with the Business Data Catalog.

The first code snippet below shows how to set the default Shared Resource Provider in your local server farm for use with the Business Data Catalog. After you specify the Shared Resource Provider, you can use the ApplicationRegistry object to work with the Business Data Catalog.

The second code snippet shows how to create an LobSystem instance and LobSystemInstance object in the Business Data Catalog.

The following code example shows you how to create an LobSystem instance and set connection parameters.

Prerequisites

  • Ensure a Shared Service Provider is already created.

  • Replace the constant value EnterYourSSPNameHere in the code with the name of your Shared Resource Provider.

Project References

Add the following Project References in your console application code project before running this sample:

  • Microsoft.SharePoint

  • Microsoft.SharePoint.Portal

  • Microsoft.Office.Server

C#
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;

namespace Microsoft.SDK.SharePointServer.Samples
{
    class GetStartedAndCreateSystem
    {
        const string yourSSPName ="EnterYourSSPNameHere";

        static void Main(string[] args)
        {
            SetupBDC();
            CreateLobSystemAndInstance();
            Console.WriteLine("Press any key to exit...");
            Console.Read();
        }
        static void SetupBDC()
        {
            SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
        }
        static void CreateLobSystemAndInstance()
        {
            LobSystem system = ApplicationRegistry.Instance.LobSystems.Create("AdventureWorksSampleFromCode", true, "Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbSystemUtility", "Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbConnectionManager", "Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbEntityInstance");

            LobSystemInstance sysInstance = system.LobSystemInstances.Create("AdventureWorksSampleFromCode", true);

            sysInstance.Properties.Add("AuthenticationMode", (Int32)Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode.PassThrough);

            sysInstance.Properties.Add("DatabaseAccessProvider", (Int32)Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider.SqlServer);

            sysInstance.Properties.Add("RdbConnection Data Source", "YourAdvWorks2000ServerNameHere");

            sysInstance.Properties.Add("RdbConnection Initial Catalog", "AdventureWorks2000");

            sysInstance.Properties.Add("RdbConnection Integrated Security", "SSPI");

            sysInstance.Properties.Add("RdbConnection Pooling", "false");

            sysInstance.Properties.Add("WildCardCharacter", "%");

            sysInstance.Update();
            Console.WriteLine("Created a system instance successfully.");
        }
    }
}
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
How to add a LobSystem and Instance while importing a Applicationdefinition whith WSS 3.0      Ron Lewandowski   |   Edit   |   Show History

Add the following Project References to your project:

  • Microsoft.SharePoint
  • Microsoft.SharePoint.Portal
  • Microsoft.Office.Server

Tell the System which Shared Service Provider to use:

  SqlSessionProvider.Instance().SetSharedResourceProviderToUse(SharedServiceProviderName);

Load Application Definition File (BDC) into a stream:

  FileStream xmlStream = new FileStream("C:/MYLOB.xml", FileMode.Open, FileAccess.Read);
ParseContext parseContext = new ParseContext();
   

Import the Package:

  ApplicationRegistry.Instance.ImportPackage(xmlStream, parseContext, PackageContents.Model | PackageContents.Properties | PackageContents.Permissions | PackageContents.LocalizedNames);

Tags What's this?: Add a tag
Flag as ContentBug
Correct LobSystemInstance property types      elena.n   |   Edit   |   Show History

The sample code provided is incorrectly converts DatabaseAccessProvider property to Int32:
The statement
sysInstance.Properties.Add("DatabaseAccessProvider", (Int32)Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider.SqlServer);
should be
sysInstance.Properties.Add("DatabaseAccessProvider", Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider.SqlServer);

When parameter is passed as integer, we get "The requested Database Access Provider is not supported" exception from the DbAccessProviderObjectFactory.

Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker