How to modify LobSystemInstance properties after deployment

Hi,
I've added some properties to my LOBSystemInstance (like explained here:http://social.technet.microsoft.com/Forums/en-US/sharepoint2010programming/thread/01ad2bf2-7ebc-434f-beac-e2d934847b34)
I cannot find where to modify the properties once the BDC is deployed.
Is it possible to have an administrator change the property values once the BDC is deployed? For instance when a DB password changes?
regards, Felix

Hi Felix,
You need to be using a custom connector to be able to use those properties and interfaces.
I have managed to get those elusive properties you are after, I followed the book from Scot Hiller and also this blog:
http://jardalu.blogspot.com/2010/03/writing-custom-connector-for-bcs.html
I have written an internal document for us at Lightning Tools explaining how to transform a BCS Meta Man project to a Custom Connector. This is the full model I used
<?xml version="1.0" encoding="utf-8"?>
<Model Name="CustomConnectorMashupLobSystemModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/windows/2007/BusinessDataCatalog">
<LobSystems>
<LobSystem Name="CustomConnectorMashupLobSystem" Type="Custom">
<Properties>
<Property Type="System.String" Name="SystemUtilityTypeName">CustomConnectorMashup.Custom.Connector, CustomConnectorMashup, Version=1.0.0.0, Culture=neutral, PublicKeyToken=02df3463d06f0080</Property>
</Properties>
<LobSystemInstances>
<LobSystemInstance Name="CustomConnectorMashupLobSystemInstance">
<Properties>
<Property Name="ConnectionString" Type="System.String">Persist Security Info=False; Integrated Security=SSPI; Server=.\;Connect Timeout=30;Database=AdventureWorksLT;</Property>
</Properties>
</LobSystemInstance>
</LobSystemInstances>
<Entities>
<Entity Name="Product" Namespace="CustomConnectorMashup.Model" Version="20.0.0.0">
<Properties>
<Property Name="OriginalTableName" Type="System.String">[SalesLT].[Product]</Property>
<Property Name="IsCustomCode" Type="System.Boolean">false</Property>
<Property Name="Class" Type="System.String">CustomConnectorMashup.Model.ProductEntityService, CustomConnectorMashupLobSystem</Property>
<Property Name="Title" Type="System.String">Name</Property>
</Properties>
<Identifiers>
<Identifier Name="ProductID" TypeName="System.Int32" />
</Identifiers>
<Methods>
<Method Name="Test">
<Parameters>
<Parameter Name="returnParameter" Direction="Return">
<TypeDescriptor Name="ProductList" TypeName="System.Collections.Generic.IEnumerable`1[[CustomConnectorMashup.Model.GetAllProductEntitysProperties, CustomConnectorMashup, Version=1.0.0.0, Culture=neutral, PublicKeyToken=02df3463d06f0080]]" IsCollection="true">
<TypeDescriptors>
<TypeDescriptor Name="Product" TypeName="CustomConnectorMashup.Model.GetAllProductEntitysProperties, CustomConnectorMashup, Version=1.0.0.0, Culture=neutral, PublicKeyToken=02df3463d06f0080">
<TypeDescriptors>
<TypeDescriptor Name="ProductID" TypeName="System.Int32" IdentifierName="ProductID" ReadOnly="true" />
<TypeDescriptor Name="Name" TypeName="System.String" />
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Name="Test" DefaultDisplayName="FinderTest" Type="Finder" ReturnParameterName="returnParameter" />
</MethodInstances>
</Method>
</Methods>
</Entity>
</Entities>
</LobSystem>
</LobSystems>
</Model>
This was my connector class
using System;
using System.Collections;
using System.Collections.Generic;
using CustomConnectorMashup.Model;
using Microsoft.BusinessData.Infrastructure;
using Microsoft.BusinessData.MetadataModel;
using Microsoft.BusinessData.Runtime;
namespace CustomConnectorMashup.Custom
public class Connector : ISystemUtility, IAdministrableSystem
#region IAdministrableSystem Members
public IList<AdministrableProperty> AdministrableLobSystemProperties
get { return null; }
public IList<AdministrableProperty> AdministrableLobSystemInstanceProperties
get
return new List<AdministrableProperty>
// Add the Connection String to the Administrable Properties so it can be changed in Central Administration
new AdministrableProperty("Connection String", "The Connection String", typeof (string), "ConnectionString", typeof (string), true)
#endregion
public IEnumerator CreateEntityInstanceDataEnumerator(object rawStream, ISharedEntityState sharedEntityState)
var enumerableStream = rawStream as IEnumerable;
if (enumerableStream != null)
return enumerableStream.GetEnumerator();
throw new InvalidOperationException("Invalid stream returned");
public ITypeReflector DefaultTypeReflector
get { return null; }
public IConnectionManager DefaultConnectionManager
get { return null; }
public void ExecuteStatic(IMethodInstance methodInstance, ILobSystemInstance lobSystemInstance, object[] args,
IExecutionContext context)
if (methodInstance == null)
throw (new ArgumentNullException("methodInstance"));
if (lobSystemInstance == null)
throw (new ArgumentNullException("lobSystemInstance"));
if (args == null)
throw (new ArgumentNullException("args"));
// Read Connection string from LobSystem Instance
var connectionString = lobSystemInstance.GetProperties()["ConnectionString"] as string;
switch (methodInstance.MethodInstanceType)
case MethodInstanceType.Finder:
// Added switch to allow multiple instances of each type
switch (methodInstance.Name)
case "Test":
ExecuteTestMethod(connectionString, args);
break;
break;
default:
throw new NotImplementedException("Only Finder Method Implemented");
private static void ExecuteTestMethod(string connectionString, object[] args)
// Call default method and assign to 0 index of args
args[0] = ProductEntityService.TestMethod(connectionString);
I hope this helps a bit, I do have a project that worked for me that I could send to you to pick apart if that would be helpful. I think I might need to write a blog post so others can benefit from it.
All the best
Phill
helpful? …please mark it so!
Lightning Tools Check out our SharePoint Tools and Web Parts
BCS Meta Man Automatic BCS Model Generation
BCS Tester Man Open Source BCS test client

Similar Messages

  • How to change shape properties after having created one?

    Photoshop CC 2014 -- latest update as of October 06, 2014
    Windows 7
    How can I change a shapes properties after having created one.
    I have created a simple ellipse.
    When I drew the ellipse with the tool, I had the option for the fill color/style and stroke, etc.
    After I have created said ellipse, I wish to change its properties.
    I can use the Paint Bucket, gradient tool, etc for the fill, but is there way to get back to the original set of tools with which I created the ellipse in the first place?
    If I use Edit > Stroke... it adds a new stroke around the existing shape.
    If I use Edit > Fill... the entire layer is filled.
    There must surely be a way to reenter the tool set to edit an existing shape. No?
    Thanks,

    Hi everyone,
    Thanks for the helpful tips, advice, etc.
    I didn't explain myself very well--I apologize.
    However, with your tips I figured it out:
    When I create a rectangle or ellipse, I can later click on its layer and the Properties window appears with options to change their "Live Shape Properties."
    However, not so with the Polygon and Shape tools. With them, the Properties window shows only the Masks, but the Toolbar still shows some basic properties I can change.
    I was stymied by the above differences while working only on a Shape.
    I've attached two JPEG screenshots.
    I didn't need to change the actual shape, just the fill/stroke, etc.
    Later, I may wish to change the actual shape, but that appears to be done by simply creating something new.
    Thanks much!!

  • How to change SessionTimeOut value after deployed war file in SunAPP Server

    Hi Guys,
    Any one can help and give some guidence How i can change the session time out value in web.xml after deployed the file on sun one application server.This is the code given below which i have to change the time of session from 5 minutes to 1 minute.
    <session-config>
         <session-timeout>5</session-timeout>
    </session-config>
    Regards,
    Suresh.Babu.Ramagani.

    For SunOne session configuration is in the sun-web.xml.
    http://docs.sun.com/app/docs/doc/820-2207/abxcz?a=view
    -steve

  • How to manage the tables after deploying an SDA for Oracle

    How can I manage the tables after deploying an SDA  on Oracle.There is tool for MaxDB,but how can I connection to the Oracle Database?
    Thanks

    In J2ee administrator console

  • How to run a EnterpriseBean after Deployment?

    Hello,
    my problem is that i have to run a Bean (Entity oder Session) immidiately after deploying it. I get managed to call it Remotely, but not at startup. As i see it an instance of an Bean is created when calling it throiugh the remote interface. But How do I manage to get any function to be calles after deployment without any Remote call? Or MUST i call any remote functions to get a Bean created? (E.g. through a dummy "starter" program?)
    Thanks,
    MR

    You have to write some client code firstly to call create on the Home Interface this will return a reference to the ejb object in question and then secondly using this reference call a business method on the bean.
    Hello,
    my problem is that i have to run a Bean (Entity oder
    Session) immidiately after deploying it. I get managed
    to call it Remotely, but not at startup. As i see it
    an instance of an Bean is created when calling it
    throiugh the remote interface. But How do I manage to
    get any function to be calles after deployment without
    any Remote call? Or MUST i call any remote functions
    to get a Bean created? (E.g. through a dummy "starter"
    program?)
    Thanks,
    MR

  • How to show Firefox toolbar after deployment

    I am deploying Firefox 30 in our enterprise. How can I get the menubar to show after Firefox has been deployed? I found that I can most probably control this using userChrome.css, but I don't know the syntax nor can I find a decent guide. The statement that I have been using:
    #toolbar-menubar {display: inline !important; }
    This gets me the menubar, but also moves the search bar and the configuration menu up to inline with the tabs. What else can I do?

    cor-el, surprisingly, I actually caught that and added it later. That did not work.
    Is it just me and my lack of experience in this area or does this seem to be overly complicated for such a seemingly simple request? I was looking through the xul.css file to see if there was something that would stand out as a possibility for a simple change, but I am adverse to tinker with these settings without knowing exactly what I am doing.
    Anyway, if you something else I could try, I would appreciate any help. Thank you again.

  • How to modify a PDF after signing

    Our company has recently been upgrading from Adobe 8 to Adobe X (more specifically 10.1.10.) In Adobe 8 there is an ability to add/subtract pages after a signature has been signed, however this does not work in Adobe X with the default settings and I have not located a way to adjust this. Within the company there is a department in legal/accounting that handles the creation of PDF documents from basically start to finish. During their creation process there needs to be two signature: one for the creator of the document (this field is important enough that I cannot simply copy an ID/key so that anyone can sign anyone’s name however it is not important enough that it needs to lock a document or prevent any changes including adding/subtracting pages.) The creator will start a document sign and then pass it on where it will be modified, pages will be added/subtracted and words may be rearranged. Once it has been revised a couple to even a few time a second signature will lock the document. Is this still possible in Adobe Acrobat X Pro or Standard? Thank you in advance.

    AFAIK the signature validation rules were significantly strengthen in Acrobat 9 and later. I do not remember whether adding pages was among those. BTW, by "subtracting pages"do you mean "deleting pages"? You could never delete a page in a signed document without invalidating the signature. Generally, in order to be able to modify signed PDF the original PDF, before the first signature, needs to be certified with certification permissions for specific actions, like permission to add more signature and fill form fields. You can certify the original PDF in Acrobat and its UI gives you a few certification permissions options. Adding pages is not in this list. LiveCycle has a more elaborate set of certification permissions but this is a fairly expensive solution and I do not remember whether Adding pages is in its permissions list.

  • How to see the data after deploying

    Hi, I installed owb 9.2.0.2 and created a test mapping and deployed it successfully. It inserted few rows in my table. How can i see the data which was inseted other than SQLplus.
    Can i view data trough any OWb reports or do I need to use discoverer or report tools to view the data.

    Hi Sam,
    SQL Plus is one route, the other is indeed Discoverer or any relational query tool. For 10gR2 we are adding data viewers so you can see this directly in OWB.
    Jean-Pierre

  • How to modify ide.properties file

    Hiiiii..
    With JDeveloper V9.0.5.2
    Whenever I make some changes on jdev/system/ide such as ide.font size.properties and restart the JD, and then open that file(ide.properties), it looks like I didn't make any changes on it and the original data was returned back.
    Please can any one help with this..
    Regard's

    Ensure that you're not modifying this file while JDev is running. It will write the file back out when it shuts down.
    The only other case in which this file gets replaced is if you're migrating from an old release or running a particular release for the first time. The source of this file is jdev/multi/system, so you may be able to modify it there.
    Thanks,
    Brian

  • How to modify clip borders after "Open in Timeline"?

    I have a little clip in the main timeline history and I make "Open in Timeline". Now I can't modify the clip borders from inside this internal timeline. I thought I could grab the side arrows and extend or shorten this clip but I can't. Am I missing something???

    Why would you want to do that?!
    There are very few situations where one would be advised to use this.
    Instead, if you want to use a larger section of the clip, drag it to a project timeline and extend by draggind the yellow lines at the ends of the clip.

  • How to modify HTML immediatley after loading it??

    I have created a web browser and I need it to have large text size as default (i.e as soon as a web page is loaded). I have written the code to do this and it works when assigned to a Jbutton.
    However if use the doClick() method to invoke the button immediatley after the HTML page is loaded(using the setPage method) the HTML remains the same.
    There was a suggestion that the font resizing is being done before the document is fully loaded. So I tried to synchronize the thread of my largeText method and delay execution of the doClick by using the SwingUtilities.invokeLater method.
    This never worked does anybody have a solution to this problem??
    Below is the code of my Display and largetext methods.
    if (e.getSource().equals(largeText)){
    Thread runner = new Thread() {
    public synchronized void run() {
    HTMLDocument doc = ((HTMLDocument) htmlMain.getDocument());
    doc.setCharacterAttributes(0, htmlMain.getDocument().getLength(), doc.getStyleSheet()
    .getDeclaration("font-size:24"), false);
    runner.start();
    SwingUtilities.invokeLater(runner);
    } // End if
    public void DisplayPage(String strURL) {
    currentURL = strURL;
    textURL.setText(strURL);
    //m_btnReload.setToolTipText(strURL);
    try {
    setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    htmlMain.setPage(strURL);
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    largeText.doClick();
    catch (Exception exc) {
    htmlMain.setText("");
    statusBar.setText("Could not open starting page. Using a blank.");
    finally {
    setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    } //end try
    //largeText.doClick();
    }

    You didn't set the width and height to 20. You set the
    magnification to 20 percent. That's what _xscale and _yscale are:
    the percentage by which an object is scaled (enlarged or reduced).
    If you want to set an image's actual width and height:
    image._width = 20;
    image._height = 20;

  • LOVs - how to modify same LOV  after items are selected.

    Hi all, I have a Record Group which returns a list of Staff Surnames.
    I also have a LOV that uses that Record Group. I have a Project-Staff table that has a composite primary key of project_id and staff_id.
    What I need to do is dynamically change the contents of the LOV so that when a staff name is selected their name no longer appears in the LOV for that project.(their staff_id gets written to the Project-Staff table along with the project_id).
    Its just a simple form for allocating staff to a project. Any ideas on how I should formulate the SQL statement ? I'm stuck because if the project needs lots of staff, MY SQL statement would look a right mess.
    Thanks.

    Thanks guys. I got the delete_group_row to work. Unfortunately I can't get it to work how I would like it to.
    Once the user selects a name from the list (using LOV) and executes the query, the selected staff name and some of their staff details populate the form. I have created an "Add Staff" button and once it is pressed the staff_id for that staff member and function_id will be written into the Function-Staff table. The Form is then cleared. The next time the user accesses the LOV I want the previously selected name to be omitted from the list.
    If I hard code the row number to be deleted "delete_group_row('fname_rg',1);" it deletes that record perfectly. But hard coding the row to be deleted is no good to me. Is there a way of finding out what the row number is for the name selected and pass that to the delete_group_row built in ?
    Or am I simply missing something here ??

  • How can I run a vi after deploying into a PXI Machine

    Hi;
    I am wondering if there is anyone out there who knows how to run a vi after deploying into a PXI machine from my host machine. In my application, I have some vi's that are deployed into my PXI machine. My problem is that when I would like to start these vi's simultaneously after deploying them. My current approach is to call vi reference and then invoke-> run. However, since there vi's are being deployed from a host machine and they are running in the PXI machine, I don't know how to create vi reference with the path constant. In other words, how can I find out the path of my vi after being deployed into my PXI machine from the host.
    Best Regards,
    Solved!
    Go to Solution.

    When VIs are deployed onto a PXI Real-Time controller they are generally copied to a C:\ni-rt\startup directory on the controller.
    Helpfully, this KnowledgeBase article talks about how specify and programmatically launch VIs on an Real-Time controller.
    I hope this helps,
    Fred V -- Product Support Engineer -- LabVIEW R&D -- National Instruments

  • "dtutil", how to tell which configuration file for packages using after deployment?

    Hello All, 
    Trying to achieve this feature, 
    Using DOS command to automatic my deployment process--glad I found dtutil. However, it doesnt give you any chance to identify which configuration file to be used by SSIS packages after deployment.
    Deployment Method: file deployment
    Configuration sued: XML file and SQL Table. IN XML file, it tells which DB connection for packages to look up the configuration table.
    Who can share some thoughts on this?
    Derek

    It is NOT about sequence.
    It is about how to point which configuration file to be used by deployed packages as during the "dtutil.exe"
    deployment, you dont have chance to identify which physical location confg files to be used.
    Derek
    That you do only at the time of execution of packages. By default it uses configuration settings created at design time within the package. If you want to override it, you can use \Configfile switch of dtexec for that. You can also set explicit values for
    properties using /SET switch
    http://technet.microsoft.com/en-us/library/ms162810(v=sql.105).aspx
    See this to understand how configs are applied in runtime
    http://technet.microsoft.com/en-us/library/ms141682(v=sql.105).aspx
    and this to understand behaviour difference in ssis 2008 
    http://technet.microsoft.com/en-us/library/bb500430(v=sql.105).aspx
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • How to change the Data sources after deploying the application ??

    Hi All,
    i want to know how to change the Data sources after deploying the application to the application server ???
    I'm using Oracle Application Server 10g Release 3 (10.1.3.1.0)

    Can you access the Enrprise Manager website of the target Application Server from your location? If so, you can change the datasource in it. If not, yo can bundle the datasource definition in your archive and use that one instead of the one configured in the target OC4J container. Or this will just be the responsability of your customer: whenever you send a new WAR file, they have to modify the datasource if needed and deploy the application?

Maybe you are looking for