2011-12-16 2 views
0

데이터베이스를 역할 및 사용자로 채우는 SQL 스크립트를 작성하려고합니다. 이 스크립트는 여러 대의 컴퓨터에서 실행될 것입니다. 왜냐하면이 프로젝트는 여러 개의 개발자가 사용하게 될 것입니다. 문제는 ASP.NET 구성 (VS2010)을 사용하여 사용자를 만들고 스크립트를 내 보낸 다음 다른 컴퓨터에서 실행 한 경우 MembershipProvider가 소금을 생성하는 고유 한 컴퓨터 키 사용 때문에 사용자의 유효성을 검사하지 못하는 것입니다.SQL 스크립트를 사용하여 aspnet_Users, aspnet_Membership에 레코드를 삽입하십시오.

aspnet_Membership_CreateUser 저장 프로 시저를 호출하려했지만 작동하지 않습니다.
또한 aspnet_Usersaspnet_Membership에 수동으로 레코드 삽입을 시도했지만 위와 동일한 이유로 유효성 검사도 실패했습니다.

어떤 생각이나 해결책이 있습니까?

+0

같은 프로젝트에서이 작업을 시도하고 있습니까? (나는 같은 프로젝트를 다른 컴퓨터에 배치했다는 뜻인가요?) 아니면 다른 프로젝트입니까? –

+0

@WaqasRaja, 예. 동일한 프로젝트가 다른 컴퓨터에 배포되었습니다 (localhost - IIS). Marek, UTCDate 매개 변수 때문에 aspnet_Membership_CreateUser를 호출 할 수 없습니다. – czetsuya

+0

@Marek, UTCDate 매개 변수 때문에 aspnet_Membership_CreateUser를 호출 할 수 없습니다. – czetsuya

답변

0

MembershipSeeder 유틸리티 available from CodePlex (실행 파일, 소스 코드 및 문서)을 사용하는 것이 좋습니다.

그러나 설명하신 문제는 이상합니다. 한 컴퓨터에서 사용자를 만들고, 테이블 데이터를 스크립팅 한 다음 INSERT 문을 실행하여 다른 컴퓨터에서 사용자를 다시 만들면 아무런 문제가 없어야합니다. 소금 값은 기계에 묶여 있지 않습니다.

+0

나는 이미 같은 문제가 2 번 발생했기 때문에 뭔가가 기계와 관련 될 수 있다고 생각한 것입니다. 동일한 프로젝트, 동일한 web.config, 동일한 sql 스크립트, 유효성 검사는 두 번째 시스템에서 작동하지 않습니다. 사실, ASP.NET 구성 (VS2010)을 사용하여 사용자를 만든 첫 번째 컴퓨터에서 SQL 스크립트를 내보내고 두 번째 컴퓨터에서 실행합니다. @ 마렉, 내가 틀렸다면 정정하십시오.하지만 MembershipSeeder는 VS의 ASP.NET 구성과 동일하다고 생각합니까? (VS-> 프로젝트 -> ASP.Net 구성) – czetsuya

+0

@czetsuya 나는 그렇게 생각하지 않는다. 문서 파일'MembershipSeeder - Readme.docx'에서 스크린 샷을 보았습니까? 내보낼 SQL 스크립트를 게시 할 수 있습니까? –

+0

여기에 생성 된 SQL은 다음과 같습니다. INSERT INTO aspnet_Users VALUES (aspnet_Applications ApplicationName = 'myApp'에서 최상위 ApplicationId 선택), newid(), 'myEmail', 'myEmail', '', 0, getdate()) – czetsuya

관련 문제