Three tier one-many issue

I'm having difficulty with a one to many relationship in a three tier model.
I am reading an object at the service layer and following an indirection to pull back a list of owned objects through a one to many, then passign it back to my web tier.
To save the object I pass it back to my service layer, instantiate a uow, do uow.readObject(rmiCopy), then uow.deepMerge(rmiCopy), and commit.
This always works if I insert or delete or even edit the related objects. But if I update a one-to-one relationship within the child object I get the exception below.
I've left in the SQL because I don't understand why it is generated and think it may be part of the problem. Note that it is selecting crystal_id and is using crystal_id in the where clause as well. I suppose this suggests an error in my mapping but for the life of me I can't find it.
Thanks,
Mike
5492,5,main]--#executeQuery(ReadObjectQuery(com.sgx.domain.cti.CryoContents))
2004.06.11 09:51:45.441--ServerSession(19512411)--Thread[HttpRequestHandler-2680
5492,5,main]--Connection(24797434)--SELECT t1.CRYSTAL_ID, t1.AMOUNT, t1.UOM, t1.
SUBSTANCE_ID, t0.PH, t0.SMILE_STRING, t0.COMMENTS, t0.SOLUBILITY, t0.GRAMS_PER_5
0ML, t0.SUBSTANCE_ID, t0.LIQUID_CLASS, t0.SUBSTANCE_NAME, t0.CAS, t0.SUBSTANCE_T
YPE, t0.IS_CRYO, t0.TUBE_NUMBER, t0.CONCENTRATION, t0.UOM, t0.MOLECULAR_WEIGHT,
t0.VENDOR FROM SGX.SUBSTANCES t0, SGX.CRYO_CONTENTS t1 WHERE (((t1.CRYSTAL_ID =
?) AND (t1.SUBSTANCE_ID = ?)) AND (t0.SUBSTANCE_ID = t1.SUBSTANCE_ID))
bind => [3878, 134]
2004.06.11 09:51:45.441--ServerSession(19512411)--Thread[HttpRequestHandler-2680
5492,5,main]--#reconnecting to external connection pool
2004.06.11 09:51:45.441--UnitOfWork(25134304)--Thread[HttpRequestHandler-2680549
2,5,main]--#executeQuery(DoesExistQuery())
2004.06.11 09:51:45.441--ClientSession(15515681)--Thread[HttpRequestHandler-2680
5492,5,main]--#executeQuery(DoesExistQuery())
2004.06.11 09:51:45.441--ServerSession(19512411)--Thread[HttpRequestHandler-2680
5492,5,main]--Connection(25154336)--SELECT CRYSTAL_ID FROM SGX.CRYO_CONTENTS WHE
RE ((CRYSTAL_ID = ?) AND (SUBSTANCE_ID = ?))
bind => [3878, 134]
2004.06.11 09:51:45.441--ServerSession(19512411)--Thread[HttpRequestHandler-2680
5492,5,main]--#reconnecting to external connection pool
2004.06.11 09:51:45.504--UnitOfWork(25134304)--Thread[HttpRequestHandler-2680549
2,5,main]--#register(com.sgx.domain.cti.Substance@5a77b6)
2004.06.11 09:51:45.519--UnitOfWork(25134304)--Thread[HttpRequestHandler-2680549
2,5,main]--java.lang.NullPointerExceptionjava.lang.NullPointerException
at oracle.toplink.internal.indirection.QueryBasedValueHolder.instantiate
(Unknown Source)
at oracle.toplink.internal.indirection.DatabaseValueHolder.getValue(Unkn
own Source)
at oracle.toplink.internal.indirection.BasicIndirectionPolicy.cloneAttri
bute(Unknown Source)
at oracle.toplink.mappings.ForeignReferenceMapping.buildClone(Unknown So
urce)
at oracle.toplink.internal.descriptors.ObjectBuilder.populateAttributesF
orClone(Unknown Source)
at oracle.toplink.publicinterface.UnitOfWork.cloneAndRegisterNewObject(U
nknown Source)
at oracle.toplink.publicinterface.UnitOfWork.internalRegisterObject(Unkn
own Source)
at oracle.toplink.internal.sessions.MergeManager.registerObjectForMergeC
loneIntoWorkingCopy(Unknown Source)
at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfCloneInto
WorkingCopy(Unknown Source)
at oracle.toplink.internal.sessions.MergeManager.mergeChanges(Unknown So
urce)
at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(Unknown Sou
rce)
at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(Unk
nown Source)
at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfCloneInto
WorkingCopy(Unknown Source)
at oracle.toplink.internal.sessions.MergeManager.mergeChanges(Unknown So
urce)
at oracle.toplink.publicinterface.UnitOfWork.mergeClone(Unknown Source)
at oracle.toplink.publicinterface.UnitOfWork.deepMergeClone(Unknown Sour
ce)
at com.sgx.serviceLayer.cti.impl.CrystalsBean.saveCrystal(CrystalsBean.j
ava:146)

Okay, I wonder if someone could just explain the limitations of working with objects in a three-tier application.
How extensively can I safely modify an object in the web tier and still have it merge successfully when I return a copy to the serviceLayer?
Is it just that I have to be careful not to follow indirections or is there more to watch out for?
Mike

Similar Messages

  • Issue with form based Authentication in three tier sharepoint 2013 environment.

    Hi,
    We are facing issue with form based Authentication in three tier environment.
    We are able to add users to the database and in SharePoint.
    But we are not able to login with created users.
    In single tier everything working fine
    Please help , Its urgent ... Thanks in advance.
    Regards,
    Hari
    Regards, Hari

    if the environments match, then it sounds like a kerberos double-hop issue
    Scott Brickey
    MCTS, MCPD, MCITP
    www.sbrickey.com
    Strategic Data Systems - for all your SharePoint needs

  • Java applet three tier architecture

    hi
    i am developing three-tier architecture in java.
    front-end is applet .when button is clicked events are generated , these events passed the parameters to JSP file and these jsp file is getting the data from remote database
    and which is sent back to applet .this is my concept.
    when i am trying to develop this application i am getting some problem what the problem is acess denied from remote database .
    so please guide me in this issue.
    have a nice day
    bye
    Prakash

    Satish Shenoy (guest) wrote:
    : I wanted to know about three tier architecture.
    : I asked many people but couldn't get a proper answer.
    : Can anoyone give me some information about it.
    : Thanks in advance,
    : Satish
    Satish,
    3 Tier architecture is essentially holding different parts of an
    application on different tiers, typically the database is stored
    on one tier, the business logic (and maybe the application) are
    stored on the middle tier and the GUI is found on the client
    tier. In oracle speak this translates into a data server, an
    application server that delivers a Java application to the
    client. N-Tier architecture is a natural progression to this,
    where the middle tier can be split into multiple distributed
    application servers.
    You could say that client-server is 2-tier architecture.
    Hope this helps
    Steve
    null

  • Three tier (mod pl/sql) vs. two tier (PL/SQL Gateway)

    I've been using 10g Database and 10g application server on separate servers for some time now.
    Going the two tier (11g) route has some attractions, but what are the disadvantages?
    The Oracle documentation I've seen says very little on making the decision, giving benefits as:
    Ease of configuration
    Included in the database
    No separate server installation
    - but no negatives.
    Does anyone have any real live experience of comparing the two options?
    I'm inclined to believe that three tier might have more tuning flexibility, better performance if each tier is on a different server. Maybe worse than two tier if on one server, assuming two tier eliminates communication overheads..
    Does pl/sql gateway have the caching ability of Apache/mod pl/sql - I assume not? - that could make a big difference.
    Any thoughts would be welcome...

    There are several key performance advantages of OHS over EPG. I'm working a lot with the EPG right now and pushing the XDB team to add several of these features (maybe in 11.2, possible backport, but don't count on it). I used recommendations from the yslow Firefox add-in to do some performance tuning. Here's there list of Best Practices:
    http://developer.yahoo.com/performance/rules.html
    - EPG does not add an "Expires" header. So, lets say you have 25 images in your page template, and none of them change. Each page view will still request those 25 images. They use etags, so you don't have to download the images, but your browser still makes the requests which is quite slow. From my testing, pages could be up to 4 times slower with the EPG with a pretty standard template. The XDB team is aware of this and working hard to resolve it.
    - EPG does not support gzip. This is another HUGE performance hit.
    Keep in mind you can't test any of those issue with debug mode in APEX, you really need to use a browser plugin such as Firebug + ySlow. The render speed from APEX's point of view will be the same, no matter what HTTP server you use.
    The other big on is mod_rewrite support. There is no way easily create friendly URLs for your apps. Another thing to consider is that a number of Identity Management systems, such as Oracle Access Manager (OAM) work by installing an Apache Module or in the case of IIS, some type of plugin (forget what they call it). There is no concept of this in EPG.
    IMHO, it's convenient for laptops, but I would never use it for production unless you needed some feature that it exposes, such as WebDav or FTP access to the XDB repository...
    Tyler

  • Tech support said I was the only one having issues!

    Verizon,
    How can you possibly say no one has complained or had similar issues with this phone when I come to this site to discover that hundreds of people have posted complaints?  I have had major issues with my LG revolution since I have got it and have constantly been told it is a software issue and the next software update will fix it, guess what no software upgrade has ever fixed any issue.  Freezing up, random restarts, never receiving/sending some text messages, claiming it must just be my phone when everyone I know with this phone has issues, short battery life, just to name a few issues and then when I call to say I want a different phone because this phone is not acceptable I receive RUDE CUSTOMER SERVICE.
    As my family has been loyal Verizon customers for many years this is blatantly not acceptable.  These are issues I have never had with any other phone from your provider and now all of a sudden this particular phone will not send texts and not receive others intermittently?  This is a service issue and a device issue!  I don't care how you fix it, but I want it fixed!  Before a service rep reply's to this saying "download the newest software as LG has addressed the issues in it", I have and (surprise) it did not fix anything!  As a loyal customer for many years I want a phone that works.  When my alarm doesn't go off because my phone is frozen causing me to miss class or work that's an issue.  Before you tell me well it may just be your individual phone why don't you look through this forum at the number of people that are having the SAME issues on their 3rd, 4th, 5th, 6th, 7th phones!  I DO NOT WANT ANOTHER LG REVOLUTION I NEED A PHONE THAT IS RELIABLE.  I spent a large amount of money on this phone expecting it to be a reliable cell phone, this is not what I expected.  Every time I have gone to Verizon to get my phone fixed or traded in I am told that they need to see the issue occurring at that exact time, how can I do that when many of the issues are intermittent? 
    With so many people on here having so many issues with this phone how can you simply ignore this problem?  Switch my phone for another phone of equal or lesser value PLEASE I would love to choose something else other than this phone.  If an issue isn't resolved I assure you when my contract is up I will be switching to a different provider causing your company to lose a lot more money in the long run than if you switch out my phone, and as I am sure I'm not the only person thinking this be ready to lose a lot of customers over not resolving an issue with an incompetent phone.

    Hello
    I did exaclty as VW told me to do regarding this phone.  It locked up, again, I drove to the store and the Manager tells me it is my fault becuase of apps or something I am doing.  VW needs to understand that as a Customer I purchase a product to use.  They advertise them to be used.  I also understand that I am a sucker for staying with VW.  OR it could be the early termination fee that bugs me for a Phone that I can't use.  If there is one App that is a common app that does not work, then all the similiar issues would be an easy fix.  The Manager forgot to ask me about the prior tech support--   this is a phone I have reset 3 times with 2nd tier service.  I have removed every app.. I have installed one app at a time over a period of a month.  The random freezes and lock-ups are never the same.  Today's freeze of the day was the slide lock--no longer worked.  The LG Revolution is the problem.  Now, I try not to make calls on it--so that is does not drop them.   I have removed every app for several weeks and had more lock-ups than if I have apps iinstalled.  The problem with this phone is not the Apps, it has a memory leak, or a design flaw.  I have my calls fowarded to a different phone just so I dont have to have the phone freeze during a conversation. 
    Today was the last straw--It will be replaced, but not replaced by anything other than a LG Revolution.  This is my 3rd replacement. 
    If you were lucky to read this post and have an LG Revolution that works--that is wonderful!!
    For me, this phone has been a reason to leave Verizon.  I just can't believe after following their instructions, I am told it is my fault, and no we will not give you any credit towards a new phone.  I was asking for a$50-100 bucks off a new phone...
    I pay hundreds of dollars each month for the last 10 years and this is what I get for my money.

  • Three Tier Configuration

    Hi friends,
    I am planning to implement oracle three tier architecture and want to know -
    How the oracle three tier architecture should be configured on a network?
    As per my information :
    Database Tier : Oracle 9i server database on a machine
    Middle Tier : oracle 9i AS as middle tier on a machine
    Client Tier : what software should be installed on client tier?
    As middle tier need
    Pentium 300MHz,6GB hdd space,512 RAM
    What are the minimum requirement of client tier to run form and reports applications?

    1. Use 10g Application Server - You have to install the Enterprise version for forms & reports servers - you can choose to not configure the pieces you don't want to use as part of the setup though.
    2. Java plugin is more mature than the jinitiator. Java plugin works on more systems and is much quicker since its much newer than the 1.1.8 and 1.3.x version oracle provides - Sun or IBM jvm's work great.
    3. In most cases uses have an office application, email application or other tools running in conjunction to being logged into a forms/reports application. With the over head of multiple browsers, jvm, and other applications i wouldn't recommend anything else. With Pentium 4 systems fully loaded for business systems running 699.00 or less (dell/hp/gateway) i don't think client side computing power should be an issues - especially if you can afford the licensing costs of the application server to begin with :)
    In my experience give your "power" users (the ones running your business apps) the POWER they need to get the job done right and they will appreciate the new systems you implement rather than fear them. A PC upgrade is alot easier then months and months of headaches with people complaining about response times, load times, performance and application useability.

  • Netweaver gateway in three tier landscape

    Hi experts,
    Can You please explain what are the best practices when using SAP Netweaver gateway central HUB deployment in three tier landscape. Is it sufficient/possible to use one gateway system for all (DEV, QAS PRD) systems, or there is a must that every backend system has its own dedicated gateway system?
    Thank You and best regards,
    Igor

    Hi Igor,
    I would not support having one gateway system for all three (not even two) landscapes.
    For each landscape, it is a standard to have their of set of systems. Rather, any kind of communication between cross landscape systems is usually strictly prohibited.
    Still, let us think on what might be the consequences.
    Each service will have three system aliases one each for each of Dev, QA and Prod.
    What if a production service by mistake starts pointing to a Dev's system alias and starts showing products from Dev landscape? disastrous for the company!!!
    If you are worried about having to maintain one extra system for Gateway you can consider 'Embedded Deployment', which I have seen many clients have adopted successfully. (be aware of limitations though)
    regards
    Krishna

  • Three tier PKI - support both SHA-1 and SHA-2

    Hey guys,
    We're about to implement a new three tier PKI - root, intermediate and Issuing CA's... is it possible to have the root and intermediate configured as SHA-1, and have multiple Issuing CA's - some SHA-1 and some SHA-2, or do the SHA-2 Issuing CA's need to
    be signed by SHA-2 certificate chain?
    Thanks in advance

    I agree with Vadims - if you can start from scratch now I would recommend setting up different hierarchies with consistent algorithms.
    The mixed scenario you propose would be sort of trade-off for existing PKIs - I had related discussions with some clients of mine:
    If you have to meet SHA-2 as per compliance / security guidelines but your Root CA processes are complicated, expensive, you use HSMs at the Root level (but there is no budget / time to install another one) etc., then adding a SHA-2-capable issuing CA to
    an existing hierarchy is a first step and might meet your different requirements.
    Then you can start moving over all existing templates (and related apps.) to the new CA. If you are 100% sure that all your apps would support SHA-2 you could probably "upgrade" the Root CA by renewing it with a modified hash algorithm.
    But you never know if you will have to support another PKI-enabled application or device in the future (some embedded system for example) that does not understand SHA-2 so you might want to keep the alternative SHA-1 hierarchy.

  • Reporting services in three tier SharePoint 2013 environment

    Hi,
    I am trying to integrate SQL Server 2012SP1 Reporting Services in a three tier SharePoint 2013 environment, but it seems it is not succesful.
    The setup is as following:
    SRV1: SQL Server with content, config,... and the Reporting Service databases.
    SRV2: SharePoint 2013 Application server & Central Administration
    SRV3: SharePoint Web Front with SharePoint sites
    All application pools are started with domain accounts on SRV2 & 3
    When opening the Central Administration site, the Reporting Services Service Application and its Proxy is created and configured. On SRV2 the Application exists in the application pool in IIS, but it does not appear in the SRV3. Should it be created manualluy?
    In Central Administration, when opening the site settings the Reporting Services section is created, but when opening the Site Settings for the root site the section shows variables:
    $Resources:ReportServerResources,ReportServerSiteSettingsGroupTitle;
    $Resources:ReportServerResources,ScheduleList;
    $Resources:ReportServerResources,SiteLevelSettings;
    $Resources:ReportServerResources,ManageSiteDataAlerts;
    I believe i need some help here.
    Thanks in advance.
    Best regards,
    J

    Hi J-S,
    Generally, the issue occurs if you are in the Windows Powershell instead of the SharePoint Management Shell or the Reporting Services - SharePoint mode feature is not installed. So, please double check you are using the SharePoint Management Shell or install
    the Add-in by installing the rssharepoint.msi instead. Here is the download link:
    http://www.microsoft.com/en-us/download/details.aspx?id=35583
    If it is not the issue, please install the Reporting Services - SharePoint mode from the SQL Server 2012 installation media.
    Reference:
    http://msdn.microsoft.com/en-us/library/ms144289.aspx#bkmk_cmdlets_not_recognized
    Regards,
    Mike Yin
    If you have any feedback on our support, please click
    here
    Mike Yin
    TechNet Community Support

  • Need help to join two tables using three joins, one of which is a (between) date range.

    I am trying to develop a query in MS Access 2010 to join two tables using three joins, one of which is a (between) date range. The tables are contained in Access. The reason
    the tables are contained in access because they are imported from different ODBC warehouses and the data is formatted for uniformity. I believe this cannot be developed using MS Visual Query Designer. I think writing a query in SQL would be suiting this project.
    ABCPART links to XYZPART. ABCSERIAL links to XYZSERIAL. ABCDATE links to (between) XYZDATE1 and ZYZDATE2.
    [ABCTABLE]
    ABCORDER
    ABCPART
    ABCSERIAL
    ABCDATE
    [ZYXTABLE]
    XYZORDER
    XYZPART
    XYZSERIAL
    XYZDATE1
    XYZDATE2

    Thank you for the looking at the post. The actual table names are rather ambiguous. I renamed them so it would make more sense. I will explain more and give the actual names. What I do not have is the actual data in the table. That is something I don't have
    on this computer. There are no "Null" fields in either of the tables. 
    This table has many orders (MSORDER) that need to match one order (GLORDER) in GLORDR. This is based on MSPART joined to GLPART, MSSERIAL joined to GLSERIAL, and MSOPNDATE joined if it falls between GLSTARTDATE and GLENDDATE.
    [MSORDR]
    MSORDER
    MSPART
    MSSERIAL
    MSOPNDATE
    11111111
    4444444
    55555
    2/4/2015
    22222222
    6666666
    11111
    1/6/2015
    33333333
    6666666
    11111
    3/5/2015
    This table has one order for every part number and every serial number.
    [GLORDR]
    GLORDER
    GLPART
    GLSERIAL
    GLSTARTDATE
    GLENDDATE
    ABC11111
    444444
    55555
    1/2/2015
    4/4/2015
    ABC22222
    666666
    11111
    1/5/2015
    4/10/2015
    AAA11111
    555555
    22222
    3/2/2015
    4/10/2015
    Post Query table
    GLORDER
    MSORDER
    GLSTARTDATE
    GLENDDATE
    MSOPNDATE
    ABC11111
    11111111
    1/2/2015
    4/4/2015
    2/4/2015
    ABC22222
    22222222
    1/5/2015
    4/10/2015
    1/6/2015
    ABC22222
    33333333
    1/5/2015
    4/10/2015
    3/5/2015
    This is the SQL minus the between date join.
    SELECT GLORDR.GLORDER, MSORDR.MSORDER, GLORDR.GLSTARTDATE, GLORDR.GLENDDATE, MSORDR.MSOPNDATE
    FROM GLORDR INNER JOIN MSORDR ON (GLORDR.GLSERIAL = MSORDR.MSSERIAL) AND (GLORDR.GLPART = MSORDR.MSPART);

  • To many issues incredible 2

    I purchased the incredible 2 in may 2011 , since then I am now on my fourth phone. I have had to return each one for so many issues and find it hard to believe when tech support tells me its the first time they hear of a problem. I have spoken with at least 30 different tech support staff over these few months as well as HTC directly and to date NO resolve. Here are some of the issues I have encountered.
    3 G always remains at 1G if it does show 3 G and I attempt open even the market it drops back to 1G. There are times when the market takes more than ten minutes to load.
    Next is the battery life, after a full charge the battery reduces to 15% in about an hour to an hour an a half.
    My settings such as sound, or mobile network arbitrarely alter themselves. The ringtones change, the applications settings change and also the ability to download applications change not allowing the phone to download apps. I have to manually go and change all the settings over and over again.
    My phones no longer allow me to use HTC clock widgets, either I get a force close , unupdated weather and none of the alarm clocks, timer, world clock etc..are accessible. HTC even asked that I video tape the widget issues and send it to thier escalation department, which I did. According to HTC they cannot duplicate the problem, but are fully aware of the issue. Verizon on the other hand claims to know nothing.
    The HTC s get more widgets always tells me unable to load or unavailable. Clearly this us an issue with HTC product and more than a month has passed and no reseloution in sight.
    I received my 4th incredible 2 in the mail today and immedietly called Verizon to say I am not accepting this and I now want another phone by anyone other than HTC.
    Clearly people are posting these issues and many more but sadly none if them seem to be being addressed. It is my hope that my next phone coming tomorrow will work. So much for that so called most reliable service. Just a side note as I typed this my keyboard now seems to disappear and or will not allow me to back space.
    My hope is those who have all these issues bombarded HTC and their carrier so the products sold are functional and we get what we pay for.

    pipster wrote:
    I purchased the incredible 2 in may 2011 , since then I am now on my fourth phone. I have had to return each one for so many issues and find it hard to believe when tech support tells me its the first time they hear of a problem. I have spoken with at least 30 different tech support staff over these few months as well as HTC directly and to date NO resolve. Here are some of the issues I have encountered.
    3 G always remains at 1X if it does show 3 G and I attempt open even the market it drops back to 1X. There are times when the market takes more than ten minutes to load.
    This is a network issue not a device issue, how strong is your network connection? How many bars do your device have?
    Next is the battery life, after a full charge the battery reduces to 15% in about an hour to an hour an a half.
    All 4G devices has quick battery drain issue because of the power the radio requires to recieve reception.  You could have learned of this from a number of forums because it is widely reported, usually a extended battery resolves this.
    My settings such as sound, or mobile network arbitrarely alter themselves. The ringtones change, the applications settings change and also the ability to download applications change not allowing the phone to download apps. I have to manually go and change all the settings over and over again.
    If you are using device as Mass Storage and use custom ringers this is a normal situation because the phone can not access the ringer file that is stored on sd card when it is in Mass Storage mode, usually a restart resolves this.   Now as for the network connection I would need more info to understand what you mean.
    My phones no longer allow me to use HTC clock widgets, either I get a force close , unupdated weather and none of the alarm clocks, timer, world clock etc..are accessible. HTC even asked that I video tape the widget issues and send it to thier escalation department, which I did. According to HTC they cannot duplicate the problem, but are fully aware of the issue. Verizon on the other hand claims to know nothing.
    Weather updating error sounds like a network issue again but as for the Force Close have you tried checking installed apps are not causing this issue because I have seen this regularly..
    The HTC s get more widgets always tells me unable to load or unavailable. Clearly this us an issue with HTC product and more than a month has passed and no reseloution in sight.
    Another possible network issue..
    I received my 4th incredible 2 in the mail today and immedietly called Verizon to say I am not accepting this and I now want another phone by anyone other than HTC.
    Clearly people are posting these issues and many more but sadly none if them seem to be being addressed. It is my hope that my next phone coming tomorrow will work. So much for that so called most reliable service. Just a side note as I typed this my keyboard now seems to disappear and or will not allow me to back space.
    My hope is those who have all these issues bombarded HTC and their carrier so the products sold are functional and we get what we pay for.
     Sounds like you are having reception issues in my opinion and no matter what device you recieve will resolve this and also you may want to try running device without installing ant 3rd party apps and see what happens because the issies you are having isnt a device issue.

  • WPF How can I implement the INotifyPropertyChanged in a Three-tier architecture?

    I am a student and I am confused on using the INotifyPropertyChanged in a three-tier style of coding. Can you guys help me a bit with these?
    I have a solution named MetroAppProject. It is composed of four projects (I omitted the using clauses and references, just imagine they are there and are working fine):
    1. MetroApp.BluePrints - a class library composed of the classes in my sql db
    An example of my class
    namespace MetroApp.BluePrints
        public partial class Patient
            public long Id { get; set; }
            public string PatientNumber { get; set; }
            public string LastName { get; set; }
            public string FirstName { get; set; }
            public string MiddleName { get; set; }        
            public string AddressLine1 { get; set; }
            public Nullable<short> CityId { get; set; }
    public string CityName { get; set; }
            public Nullable<short> ProvinceId { get; set; }
    public string ProvinceName { get; set; }        
    Then the second project:
    2. MetroApp.DataAccess = a class library composed of methods that calls my sql procedures. I used the SqlHelper class which contains the connection strings and other stuffs.
    example class
    namespace MetroApp.DataAccess
        public class PatientDb
    public Patient Retrieve(PatientParams parameters)
                SqlCommand command = new SqlCommand();
                Patient singItem = new Patient();
                command.CommandText = "RetrievePatients";
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.AddWithValue("@Id", parameters.Id).Direction = ParameterDirection.Input;
                DataTable dt = SqlHelper.GetData(command);
                if (dt.Rows.Count > 0)
                    DataRow row = dt.Rows[0];
                    singItem.Id = TDefaultValue.GetInt(row["Id"].ToString());
                    singItem.PatientNumber = TDefaultValue.GetString(row["PatientNumber"].ToString());
                    singItem.LastName = TDefaultValue.GetString(row["LastName"].ToString());
                    singItem.FirstName = TDefaultValue.GetString(row["FirstName"].ToString());
                    singItem.MiddleName = TDefaultValue.GetString(row["MiddleName"].ToString());
                    singItem.AddressLine1 = TDefaultValue.GetString(row["AddressLine1"].ToString());
                    singItem.CityId = TDefaultValue.GetShort(row["CityId"].ToString());
                    singItem.CityName = TDefaultValue.GetString(row["CityName"].ToString());
                    singItem.ProvinceId = TDefaultValue.GetShort(row["ProvinceId"].ToString());
                    singItem.ProvinceName = TDefaultValue.GetString(row["ProvinceName"].ToString());
                return singItem;
            public List<Patient> RetrieveMany(PatientParams parameters)
                var items = new List<Patient>();
                var command = new SqlCommand();
                command.CommandText = "RetrievePatients";
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.AddWithValue("@Id", parameters.Id).Direction = ParameterDirection.Input;
                command.Parameters.AddWithValue("@PatientNumber", parameters.PatientNumber).Direction = ParameterDirection.Input;
                command.Parameters.AddWithValue("@LastName", parameters.LastName).Direction = ParameterDirection.Input;
                command.Parameters.AddWithValue("@FirstName", parameters.FirstName).Direction = ParameterDirection.Input;
                command.Parameters.AddWithValue("@MiddleName", parameters.MiddleName).Direction = ParameterDirection.Input;            
                command.Parameters.AddWithValue("@CityId", parameters.CityId).Direction = ParameterDirection.Input;
                command.Parameters.AddWithValue("@ProvinceId", parameters.ProvinceId).Direction = ParameterDirection.Input;
                DataTable dt = SqlHelper.GetData(command);
                foreach (DataRow row in dt.Rows)
                    var item = new Patient();
                    item.Id = TDefaultValue.GetLong(row["Id"].ToString());
                    item.PatientNumber = (row["PatientNumber"].ToString());
                    item.LastName = (row["LastName"].ToString());
                    item.FirstName = (row["FirstName"].ToString());
                    item.MiddleName = (row["MiddleName"].ToString());                
                    item.AddressLine1 = (row["AddressLine1"].ToString());
                    item.CityId = (short)row["CityId"].ToString();
                    item.CityName = (row["CityName"].ToString());
                    item.ProvinceId = (short)row["ProvinceId"].ToString();
                    item.ProvinceName = (row["ProvinceName"].ToString());
                    items.Add(item);
                return items;
            public bool Insert(Patient entity, int userId, ref bool doesExist)
                var command = new SqlCommand();
                try
                    command.CommandText = "AddPatient";
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@PatientNumber", entity.PatientNumber).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@LastName", entity.LastName).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@FirstName", entity.FirstName).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@MiddleName", entity.MiddleName).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@AddressLine1", entity.AddressLine1).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@CityId", entity.CityId).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@ProvinceId", entity.ProvinceId).Direction = ParameterDirection.Input;
    command.Parameters.AddWithValue("@Id", entity.Id).Direction = ParameterDirection.Input;
                    command.Parameters.Add("@DoesExist", SqlDbType.Bit).Direction = ParameterDirection.Output;
                    int result = SqlHelper.ExecuteNonQuery(command);
                    doesExist = (bool)(command.Parameters["@DoesExist"].Value);
                    entity.Id = (int)(command.Parameters["@Id"].Value);
                    if (result == 0 || doesExist)
                        return false;
                    return true;
                catch (Exception)
                    return false;
            public bool Update(Patient entity, int userId, ref bool doesExist)
                var command = new SqlCommand();
                try
                    command.CommandText = "EditPatient";
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@PatientNumber", entity.PatientNumber).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@LastName", entity.LastName).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@FirstName", entity.FirstName).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@MiddleName", entity.MiddleName).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@AddressLine1", entity.AddressLine1).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@CityId", entity.CityId).Direction = ParameterDirection.Input;
                    command.Parameters.AddWithValue("@ProvinceId", entity.ProvinceId).Direction = ParameterDirection.Input;
    command.Parameters.AddWithValue("@Id", SqlDbType.Int).Direction = ParameterDirection.Output;
                    command.Parameters.Add("@DoesExist", SqlDbType.Bit).Direction = ParameterDirection.Output;
    doesExist = (bool)(command.Parameters["@DoesExist"].Value);
                    int result = SqlHelper.ExecuteNonQuery(command);
                    if (result == 0 || doesExist)
                        return false;
                    return true;
                catch (Exception)
                    return false;
    Then a business logic
    3. MetroApp.BusinessLogic = class libray for calling the methods from DataAccess
    namespace MetroApp.BusinessLogic
        public class PatientMgr
            #region Fields
            private readonly PatientDb _db;
            #endregion
            #region Properties
            public Patient Entity { get; set; }
            public List<Patient> EntityList { get; set; }
            public PatientParams Parameters { get; set; }
            #endregion
            #region Constructors
            public PatientMgr()
                _db = new PatientDb();
                Entity = new Patient();
                EntityList = new List<Patient>();
                Parameters = new PatientParams();
            #endregion
            #region Methods
    public Patient Retrieve(PatientParams parameters)
                return _db.Retrieve(parameters);
            public List<Patient> RetrieveMany(PatientParams parameters)
                return _db.RetrieveMany(parameters);
            public bool Insert(Patient entity, int userId, ref bool doesExist)
                return _db.Insert(entity, userId, ref doesExist);
            public bool Update(Patient entity, int userId, ref bool doesExist)
                return _db.Update(entity, userId, ref doesExist);
            #endregion
    Then the last one, the WPF GUI
    <UserControl x:Class="MetroDentProject.Pages.PatientDetailsPage"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 xmlns:dims="clr-namespace:MetroAppProject.UserCons"
                 mc:Ignorable="d" 
                 d:DesignHeight="720" d:DesignWidth="1280">
        <Grid x:Name="MainGrid" >
            <Grid.RowDefinitions>
                <RowDefinition  Height="40"/>
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
                <RowDefinition  />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <GroupBox Grid.Column="0" Grid.Row="1" Grid.RowSpan="7" x:Name="DetailsGroupBox" Header="Patient Details" >
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <TextBlock Text="Id: " Grid.Column="1" Grid.Row="0" Visibility="Collapsed"/>
                    <TextBox x:Name="IdTextBox" Grid.Column="1" Grid.Row="1" Visibility="Collapsed"/>
                    <TextBlock x:Name="PatientNumberTextBlock" Text="Patient Number: " Grid.Column="0" Grid.Row="0" />
                    <TextBox x:Name="PatientNumberTextBox" Grid.Column="1" Grid.Row="0" IsReadOnly="True" IsReadOnlyCaretVisible="True"/>
                    <TextBlock Text="Last Name: " Grid.Column="0" Grid.Row="1" />
                    <TextBox x:Name="LastNameTextBox" Grid.Column="1" Grid.Row="1" />
                    <TextBlock Text="First Name: " Grid.Column="0" Grid.Row="2" />
                    <TextBox x:Name="FirstNameTextBox" Grid.Column="1" Grid.Row="2" />
                    <TextBlock Text="Middle Name: " Grid.Column="0" Grid.Row="3" />
                    <TextBox x:Name="MiddleNameTextBox" Grid.Column="1" Grid.Row="3" />
                </Grid>
            </GroupBox>
            <GroupBox x:Name="ContactDetailsGroupBox" Header="Contact Details" Grid.Column="1" Grid.Row="1" Grid.RowSpan="7">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <TextBlock Text="Address: " Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" />
                    <TextBlock Text="City: " Grid.Column="0" Grid.Row="2" />
                    <TextBlock Text="Province: " Grid.Column="0" Grid.Row="3"/>
                    <TextBox x:Name="AddressTextBox" Grid.Column="1" Grid.Row="0" Grid.RowSpan="2"
                             TextWrapping="Wrap"
                             AcceptsReturn="True"
                             VerticalScrollBarVisibility="Auto"
                             />
                    <ComboBox x:Name="CitiesComboBox"  Grid.Column="1" Grid.Row="2"  />
                    <ComboBox x:Name="ProvincesComboBox"  Grid.Column="1" Grid.Row="3" />
                </Grid>
            </GroupBox>
            <dims:FunctionButtonsControl x:Name="FunctionButtonsCon" Grid.Row="9" Grid.Column="0" Grid.ColumnSpan="2"
                                         ExecuteClick="FunctionButtonsCon_OnExecuteClick"
                                         UndoClick="FunctionButtonsCon_OnUndoClick"
                                         BackClick="FunctionButtonsCon_OnBackClick"
                                         DeleteClick="FunctionButtonsCon_OnDeleteClick"
                                         />
        </Grid>
    </UserControl>
    I apologize for the long post. As you can see, I don't use binding. Binding requires me to use INotifyPropertyChanged interface which I am not familiar. Can you at least make my project to implement the INotifypropertyChanged?
    Here is my sample code for the WPF page:
    public partial class PatientDetailsPage 
            readonly PatientMgr itemMgr = new PatientMgr();       
            public PatientParams CurrentPar = new PatientParams(); // for undoActionType _action = ActionType.Insert; // this is an enum from another project, ActionType.Insert, ActionType.Update
            public ActionType Action
                get { return _action; }
                set { _action = value; }
            public PatientDetailsPage()
                InitializeComponent();
                BindComboBoxes();
            #region Methods
            public void OnFragmentNavigation(FragmentNavigationEventArgs e)
            public void OnNavigatedFrom(NavigationEventArgs e)
            public void OnNavigatedTo(NavigationEventArgs e)
            {            Setup();
            public void OnNavigatingFrom(NavigatingCancelEventArgs e)
            public Patient GetPageEntity()
                Patient setEntity = new Patient();
                setEntity.Id = (long)IdTextBox.Text;
                setEntity.PatientNumber = PatientNumberTextBox.Text;
                setEntity.LastName = LastNameTextBox.Text;
                setEntity.FirstName = FirstNameTextBox.Text;
                setEntity.MiddleName = MiddleNameTextBox.Text;
                setEntity.AddressLine1 = AddressTextBox.Text;
                setEntity.CityId = (short)CitiesComboBox.SelectedValue);
                setEntity.ProvinceId = (short)ProvincesComboBox.SelectedValue;
                setEntity.StatusId = true;
                return setEntity;
            public void Setup()
                switch (Action)
                    case ActionType.Insert:
                        Clearer(); //clears all textboxes and set all comboboxes to default
                        this.PatientNumberTextBlock.Visibility = Visibility.Collapsed;
                        this.PatientNumberTextBox.Visibility = Visibility.Collapsed;
                        FunctionButtonsCon.ExecuteButton.Content = "Add";
                        FunctionButtonsCon.DeleteButton.IsEnabled = false;
                        FunctionButtonsCon.DeleteButton.Visibility = Visibility.Hidden;
                        break;
                    //**Setup Update
                    case ActionType.Update:CurrentPar.Id = (long)IdTextBox.Text;
                        LoadSingle(CurrentPar);
                        this.PatientNumberTextBlock.Visibility = Visibility.Visible;
                        this.PatientNumberTextBox.Visibility = Visibility.Visible;
                        FunctionButtonsCon.ExecuteButton.Content = "Save";
                        FunctionButtonsCon.DeleteButton.IsEnabled = true;
                        FunctionButtonsCon.DeleteButton.Visibility = Visibility.Visible;
                        break;                
                LastNameTextBox.CaretIndex = LastNameTextBox.Text.Length;
                IsVisibleChanged += AutoFocus;
            public void LoadSingle(PatientParams parameters)
                var entity = itemMgr.Retrieve(parameters); //calls the BusinessLogic
                IdTextBox.Text = (entity.Id);
                PatientNumberTextBox.Text = (entity.PatientNumber);
                LastNameTextBox.Text = (entity.LastName);
                FirstNameTextBox.Text = (entity.FirstName);
                MiddleNameTextBox.Text = (entity.MiddleName);
                AddressTextBox.Text = (entity.AddressLine1);
                CitiesComboBox.SelectedValue = (short)entity.CityId;
                ProvincesComboBox.SelectedValue = (short)entity.ProvinceId;
            public void Save(ActionType action, int userId)
                itemMgr.Entity = GetPageEntity();
                bool doesExist = false;
                switch (action)
                    case ActionType.Insert:
                        if (itemMgr.Insert((itemMgr.Entity), userId, ref doesExist))
                            System.Windows.Forms.MessageBox.Show("Successfully added a Patient!", "Patient Insertion");                  
                        else if (doesExist)
                            System.Windows.Forms.MessageBox.Show("Item already exists.", "Patient Insertion");
                        else
                            System.Windows.Forms.MessageBox.Show("Not all fields were filled in.", "Patient Insertion");
                        break;
                    case ActionType.Update:
                        if (itemMgr.Update(itemMgr.Entity, userId, ref doesExist))
                            System.Windows.Forms.MessageBox.Show("Successfully updated a Patient!", "Patient Modification");
                            itemMgr.Parameters.Id = itemMgr.Entity.Id;
                            Action = ActionType.Update;
                            Setup();
                        else if (doesExist)
                            System.Windows.Forms.MessageBox.Show("Item already exists.", "Patient Modification");
                        else
                            System.Windows.Forms.MessageBox.Show("Not all fields were filled in.", "Patient Modification");
                        break;                
            public void Clearer()
                IdTextBox.Clear();
                PatientNumberTextBox.Clear();
                LastNameTextBox.Clear();
                FirstNameTextBox.Clear();
                MiddleNameTextBox.Clear();
                CitiesComboBox.SelectedIndex = 0;
                ProvincesComboBox.SelectedIndex = 0;
                AddressTextBox.Clear();            
            public void BindComboBoxes()
                CitiesComboBox.ItemsSource = new BindingSource(CommonMgr.GetCitiesDropDown(), null);// the CommonMgr is a static class from another project. It works just fine
                CitiesComboBox.DisplayMemberPath = "Value";
                CitiesComboBox.SelectedValuePath = "Key";           
                ProvincesComboBox.ItemsSource = new BindingSource(CommonMgr.GetProvincesDropDown(), null);
                ProvincesComboBox.DisplayMemberPath = "Value";
                ProvincesComboBox.SelectedValuePath = "Key";
                CitiesComboBox.SelectedIndex = 0;
                ProvincesComboBox.SelectedIndex = 0;
            #endregion
            #region Events
            private void FunctionButtonsCon_OnExecuteClick(object sender, RoutedEventArgs e)
                Save(Action, SessionHelper.MyUser.Id); //SessionHelper.MyUser.Id
            private void FunctionButtonsCon_OnUndoClick(object sender, RoutedEventArgs e)
                if (Action == ActionType.Insert)
                    Clearer();
                    return;
            private void FunctionButtonsCon_OnBackClick(object sender, RoutedEventArgs e)
                Exiter();
            private void FunctionButtonsCon_OnDeleteClick(object sender, RoutedEventArgs e)
                var ans = System.Windows.Forms.MessageBox.Show("Are you sure you want to delete this entry?", "Patient Deletion", MessageBoxButtons.YesNo);
                if (!Equals(ans, System.Windows.Forms.DialogResult.Yes)) return;
                Action = ActionType.Delete;
                Save(Action, SessionHelper.MyUser.Id);
                Exiter();
            #endregion

    Hello Kokombads,
    I thought you are using MVVM from your title but it seems your project is just a simple WPF project. In that way, please check the following msdn article to know how to Implement Property Change Notification
    https://msdn.microsoft.com/en-us/library/ms743695(v=vs.110).aspx
    using System.ComponentModel;
    namespace SDKSample
    // This class implements INotifyPropertyChanged
    // to support one-way and two-way bindings
    // (such that the UI element updates when the source
    // has been changed dynamically)
    public class Person : INotifyPropertyChanged
    private string name;
    // Declare the event
    public event PropertyChangedEventHandler PropertyChanged;
    public Person()
    public Person(string value)
    this.name = value;
    public string PersonName
    get { return name; }
    set
    name = value;
    // Call OnPropertyChanged whenever the property is updated
    OnPropertyChanged("PersonName");
    // Create the OnPropertyChanged method to raise the event
    protected void OnPropertyChanged(string name)
    PropertyChangedEventHandler handler = PropertyChanged;
    if (handler != null)
    handler(this, new PropertyChangedEventArgs(name));
    It is not so complex, you only need to refer to the interface from here:
    https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(v=vs.110).aspx
    And understand that you have to do the following:
    For change notification to occur in a binding between a bound client and a data source, your bound type should either:
    Implement the INotifyPropertyChanged interface (preferred).
    Provide a change event for each property of the bound type
    Best regards,
    Barry
    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.

  • Sharepoint 2013 Foundation three tier farm with two Webservers in NLB

    Heloo,
    I have been strugling with a problem the last htree days.
    I have instelled and configured a sharepoint 2013 three tier farm with Sharepoint 2013 Foundation and MS SQL 2014 Express. This is a Test Farm and all the servers are Windows 2012 R2.
    I have one SQL Server, one Application Server and two Webservers. The tow web servers are configured with Multicasting NLB. The NLB name is "sharepoint.ws.domain.net". The IP of the NLB is also in our DNS Zone.I have made a Web Application with
    the name "sharepoint.ws.domain.net" on port 80 (NLB name) and a Site collection with the same name.
    Now whene I am working on the Sharepoint Site I get very offen a login Window or I get the message "An error occurred while processing the request on the server. The status code returned from the server was: 0".
    The error "An error occurred while processing the request on the server. The status code returned from the server was: 0" comes when I try to create a sub Site (most with no Permissions inheritance)... but not allways. I also get  sometimes
    the same message when I upload files (MS Office documents and PDF files).
    The login Windows comes whene I am navigating throw the Sites... but also not allways.I go to the Site with an IE11 and the Site is also in the Intranet security sites.
    Can you help me on this one...
    Kind Regards
    Ioannis Kyriakidis

    With no hostname on the Web Application, you have to create Host-named Site Collections. So that complicates things a bit.
    As far as NLB setup, you create Web Applications the same way you would otherwise. NLB is simply installed on both Web Servers and placed into the NLB VIP (virtual IP). The DNS A record points at the VIP.
    Also set up your Windows NLB using Unicast instead of Multicast. If you have certain types of switches that block unicast ARP from multiple clients, e.g. Cisco, you may have to make an exception for them (e.g. http://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/107995-microsoft-nlb.html).
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Using eclipselink in a three tier

    Hi, I'm using eclipselink in a three tier architechture. Normally this is set up with just one database user having a connection pool. What I want to set up is that all client users log in and get their own connection, so that they use their own database user account. So I need somehow to create an entitymanager that does not use a connection from the connection pool, but creates a connection using the credentials the user logged in the application with.
    Can someone give me a hint how to achieve that?
    TIA,
    Tom

    Hi,
    You can customize the session to use the username and password for logging to database.Below sample code uses sessioncustomizer to customize the user credentials for database login.
    If you are using the JDeveloper for Toplink development.
    Open the persistence.xml in flat editor and select the Topink customization tab and select the below class for Session customization.Whenever application is run the database login will be customized to the passed in username and password values.
    import org.eclipse.persistence.config.SessionCustomizer;
    import org.eclipse.persistence.sessions.Session;
    public class SampleSessionCustomizer implements SessionCustomizer {
    public SampleSessionCustomizer() {
    super();
    public void customize(Session session) throws Exception {
    session.getLogin().setUserName(userName);
    session.getLogin().setPassword(password);
    Hope this helps.
    Regards,
    P.Vinay Kumar

  • Three tier archictecture

    I need assistance.. regarding three tier architecture... Presently I installed oracle 10g database on one server.. 10g AS(application server) on other and 10g IDS on client part... Please guide me how do I configure the system so that it will communicate... and work properly....

    Hi,
    You can find all the information you need at:
    http://tahiti.oracle.com/
    In the bottom of the page you have the AS options, remember to 10g you have 4 options:
    - 10g Release 10.1.4
    - 10g Release 10.1.3
    - 10g Release 10.1.2
    - 10g Release 9.0.4
    Best Regards,
    Francisco Munoz Alvarez
    www.oraclenz.com

Maybe you are looking for

  • Check on Pan and CST

    Hi experts, I have a query. while maintaining vendor masters, we already have a check on VAT no. We want to maintain the check on PAN and CST no. also to avoid the duplicacy.Is it possible as somebody suggested me that check on VAT no. is by default

  • Rendering intent when displaying, exporting or soft proofing?

    I am trying to make use of soft proofing to adjust my images for a given output device for which I have ICC profiles. The two profiles I am playing with are for a Lambda and a Fuji Frontier. The Lambda working space almost fits within Adobe RGB, it e

  • TS2634 IOS6 error message Accessory unavailable uses too much power

    IOS6 has stopped me from using my apple access connector that loads photos direct from memory card. Error message ,uses to much power.  This worked fine on my iPad 2 until I upgraded, any suggestions how to fix this?

  • Consumer Vs Customer

    Hello All, What is the difference between a consumer and a customer. What I understand is that customer is a superset on consumers. Any help appreciated. Regards Priyanka

  • Move songs from shuffle to pc Help Please

    Is it possible to move songs back from one shuffle (my wifes) to the pc so i can put them on mine???