2017-11-16 15 views
0

BIML을 사용하여 원본 데이터베이스와 대상 데이터베이스의 스키마를 조사하고 모든 것이 올바르게 구성되었는지 확인한 다음 SSIS 패키지를 생성합니다. 내 문제는 때로는 OLE DB 연결이 연결 문자열에 지정된 이름 대신 마스터 시스템 데이터베이스를 사용하여 시작된다는 것입니다. 반환 된 테이블을 검사하여 마스터 데이터베이스라고 말할 수 있습니다. BIML 루트 노드에서 OleDbConnection 개체의 GetDatabaseSchema() 방법을 사용하려고 할 때 나는 주로 문제를 공격 한BIML OLE DB 연결에서 잘못된 데이터베이스를 사용함 (때때로)

<OleDbConnection Name="appdb" ConnectionString="Server=<#=ReplicationConfig.appdbHostname#>;Database=<#=ReplicationConfig.appdbDatabaseName#>;Integrated Security=SSPI;Provider=SQLNCLI11;" CreateInProject="true" /> 

:

나는 BIML 마크 업을 사용하여 연결을 정의합니다. Execute SQL 작업을 사용하려고 할 때도 실행했습니다. [DatabaseName].[schema].[Table]으로 테이블을 완전히 정규화 할 수 있었기 때문에 Execute SQL 작업으로 쉽게 작업 할 수 있었지만 GetDatabaseSchema() 메서드로는이 옵션이 없습니다. 또한 ImportDB()GetTableNodes()을 사용해 보았는데 모두 동일한 문제가 발생합니다.

문제를 테스트하기 위해 개발 환경에서 솔루션을 마이그레이션하려고 시도하면 다시 자릅니다. 과거에는 Visual Studio를 다시 시작하거나 SQL 쿼리에서이 문제를 해결함으로써이 문제가 해결되었습니다. 그러나, 그것은 이번에는 효과가 없습니다.

나는 비주얼 스튜디오와 BIML Express를 사용하고 2015 년

사람이 잘못 될 수 또는 어떻게 해결하기 위해 어떤 생각을 가지고 있습니까?

답변

0

작업에 필요한 로그인 데이터베이스의 기본 데이터베이스를 설정하여 문제를 해결했습니다. 어떤 이유로 BIML은 연결 문자열에 지정된 데이터베이스를 무시하는 것 같습니다.