2011-11-10 5 views
1

런타임에 데이터베이스 연결을 변경하는 방법을 알고있는 .netTiers 닌자가 있습니까?.nettiers 런타임에 연결 변경

내가 그들의 문서에 다음과 같은 글을 발견했습니다 : 끝을 향해 http://www.nettiers.net/DataLayer.ashx

를, '이이 작업을 수행하는 방법을 보여주는 코드를 가지고,하지만 난 정확히 조각을 따라했습니다, 그리고 그것은 여전히 ​​아무튼 작동하지 않는 것 같습니다. 여기

내 코드입니다 (이름은 무고한 :-) 보호하기 위해 변경되었습니다 :

DataRepository.AddConnection("localDynamic", "Data Source=myserver;Initial Catalog=myDB;Integrated Security=True"); 

TList<Patient> patients = DataRepository.Connections["localDynamic"].Provider.PatientProvider.GetAll(); 

을 여기에서 web.config입니다 - 웹 설정에서 연결 문자열 내가 테스트 할 수 있도록 주석 동적으로 연결 문자열을 변경 :

<configuration> 
    <configSections> 
    <section name="dcPlatinum.Data" 
    type="dcPlatinum.Data.Bases.NetTiersServiceSection, dcPlatinum.Data" 
    allowDefinition="MachineToApplication" 
    restartOnExternalChanges="true" /> 
    </configSections> 
    <!--<connectionStrings> 
    <add name="netTiersConnectionString" connectionString="Data Source=myServer;Initial Catalog=myDB;Integrated Security=True" /> 
    </connectionStrings>--> 

    <dcPlatinum.Data defaultProvider="SqlNetTiersProvider"> 
    <providers> 
     <add 
     name="localDynamic" 
     type="dcPlatinum.Data.SqlClient.SqlNetTiersProvider, dcPlatinum.Data.SqlClient" 
     connectionStringName="localDynamic" 
     providerInvariantName="System.Data.SqlClient" 
     entityFactoryType="dcPlatinum.Entities.EntityFactory" 
     useEntityFactory="true" 
     enableEntityTracking="false" 
     enableMethodAuthorization="false" 
     useStoredProcedure="false" 

     /> 
    </providers> 
    </dcPlatinum.Data> 
    <system.web> 
     <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 

</configuration> 

는 "localDyanmic"키와 연결 문자열을 찾는되지 않은 것을 일어나는 문제 ...

생각을 에스?

+0

여기에 정답을 게시하십시오. 나는 똑같은 것을 찾고있다. – prasy

+0

불행히도, 나는 정답이 없다. 우리는 가정용 솔루션을위한 .net 계층을 포기했습니다. 아래에 나와있는 한 가지 대답이 효과가 있다는 것을 알게되면 알려주십시오. – Scot

+0

누구에게이 질문에 대한 답변을 찾고 있습니까 [여기] (http://nettiers.net/%28S%28shoyyl55dtdwuwiuu0kdz255%29%29/DataLayer.ashx). 고급 주제 -> 동적 연결 문자열로 이동하십시오. – prasy

답변

2

당신은 아마 지금이 문제를 알아 냈어요,하지만 단지의 경우 당신은 여전히 ​​.... 노력하고

우리는 우리의 현재 프로젝트에서 작업 동적 연결을 당신이 게시 코드가 나에게 잘 보인다.

하지만 여전히 공급자 구성 섹션에서 web.config에 등록 된 연결 문자열을 참조해야한다고 생각합니다. 따라서 연결 문자열의 주석 처리를 제거한 다음 공급자 섹션을 'localDynamic'대신 'netTiersConnectionString'을 참조하도록 변경하십시오.

넷 티어는 이것을 무시하고 런타임에 localDynamic을 사용해야합니다.

또한 응용 프로그램이 시작될 때 연결 문자열 당 한 번 DataRepository.AddConnection 메서드를 실행해야합니다. 우리는 Global.asax의 Application_Start 메소드에서 실행합니다.