1

을 업데이트하기위한 테이블과 일치하지 않습니다.VS2008 데이터 세트 마법사가이 사이트의 첫 번째 질문 인

저는 Visual Studio 2008을 사용하여 진짜 고집스런 문제를 겪어 왔고 누군가가 이것을 알아 냈 으면합니다.

데이터 원본에서 "마법사로 데이터 구성"옵션을 사용하여 생성 한 강력한 형식의 데이터 집합 (MSSQL 백 엔드)을 사용하는 2 개의 라이브러리와 1 개의 프로젝트가 있습니다. 난 잠시 동안 잘 작동 해 봤고 행 클래스의 비 디자이너 파일에 많은 코드를 작성했습니다. 또한 데이터 집합 디자이너를 사용하여 많은 사용자 지정 쿼리를 지정했습니다. 이것은 제가 풀 수없는 모든 일입니다.

최근 라이브러리의 이름을 변경하는 등 라이브러리를 재구성하기 위해 몇 가지 변경을했습니다. 또한 연결 문자열을 개발 용 사본 (동일한 정확한 스키마) 인 다른 데이터베이스를 가리 키도록 변경했습니다.

"마법사로 데이터 세트 구성"을 열면 마법사에서 테이블과 더 이상 일치하지 않는 테이블 중 하나에 새 열을 추가합니다. 마법사는 데이터베이스에있는 모든 테이블을 표시하며 그 옆에 확인란이 없습니다 (즉,이 데이터 집합의 일부가 아님). 그 아래에는 모든 테이블이 다시 표시되지만 빨간색 X가 표시됩니다. 기본적으로 Visual Studio는 현재 DataSet에있는 모든 테이블을보고 데이터베이스의 모든 테이블을 보지만 더 이상 동일하지 않으므로 일치하지 않습니다.

나는이 똑같은 일이 꽤 오래 전에 일어 났으며 나는 처음부터 xsd를 다시 작성하고 코드를 수동으로 복사 한 다음 데이터 세트 디자이너에서 빌드 한 모든 사용자 정의 쿼리를 다시 정의해야한다고 생각합니다. 그것은 좋은 해결책이 아닙니다.

나는 대답 2 개를 찾고 있습니다 : 1. 이것이 일어나는 원인과 그것을 막는 방법. 2.이 문제를 해결하여 마법사가 다시 xsd의 테이블이 데이터베이스에있는 동일한 테이블이라고 생각하도록합니다 (예, 여전히 동일한 이름 임).

감사합니다.

답변

0

데이터 세트 디자이너는 각 테이블의 스키마를 동기화하기 위해 기본 쿼리 (첫 번째 테이블에 체크 표시가 있음)를 사용합니다. 기본 쿼리를 편집 할 때마다 VS는 실제로 데이터 소스에 연결하고 쿼리의 변경 사항을 찾습니다. 새 열이 추가되면 테이블에 추가 할 새로운 열로 표시됩니다. 이름이 바뀐 열은 새 것으로 표시됩니다. VS에서 이름을 변경했는지 알 수있는 방법이 없기 때문입니다.

응답 1. XSD 파일에는 원래 테이블을 만드는 데 사용 된 데이터베이스 테이블의 이름이 들어 있습니다. 테이블의 이름을 변경하면 디자이너는 동기화 할 테이블을 알 수 없습니다.

응답 2. XSD 파일에서 XML을 편집 할 수 있습니다. 새 tablename에 대한 이전 tablename을 대체하는 XSD 파일에서 "찾기 및 바꾸기"를 수행하십시오. 그렇게하기 전에 XSD 파일의 백업을 가지고 있는지 확인하십시오. 이전 테이블 이름의 인스턴스 만 변경하고 다른 작업 XML은 변경하지 않도록주의하십시오.

관련 문제