SQL Server 2003에 연결되어있는 VB.NET 응용 프로그램이 있습니다. 서버에는 MyDatabase 및 MyDatabase_Test라는 두 개의 데이터베이스가 있습니다. 내가하고 싶은 것은 프로그램이 시작될 때 사용자가 사용할 데이터베이스를 선택하게하는 대화 상자를 보여주는 것이다. 내 생각은이 속성을 설정하고 기본 폼을 시작하는 시작 폼으로 새 폼을 만드는 것입니다.시작시 VB.NET 응용 프로그램에서 연결 문자열 선택
현재 연결 문자열은 응용 프로그램 구성 파일에 지정되어 있습니다. 가장 좋은 방법은 선택할 파일에서 두 개의 다른 연결 문자열을 지정할 수 있지만 두 개의 연결 문자열을 시작 양식에 하드 코딩하는 것과 같은 다른 솔루션에서도 사용할 수 있습니다.
편집은 다음 dataset.xsd 파일에서 관련 부분
<Connections>
<Connection AppSettingsObjectName="MySettings" AppSettingsPropertyName="MyDatabase_ConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="MyDatabase_ConnectionString(MySettings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.MyProgram.My.MySettings.GlobalReference.Default.MyDatabase_ConnectionString" Provider="System.Data.SqlClient" />
</Connections>
로하지만 그것은 런타임에 어떻게 변경합니까 것 같다? 가장 가까운 내가 찾을 수있는 모든 단일 TableAdapter에 대해 사용되는 연결을 변경하고 있지만 그것은 아주 최적의 것 같지 않습니다.
EDIT2 : 시작시 모달 대화 상자가 더 좋겠지 만 데이터베이스 연결이 시작되기 전에 어디에서 시작해야합니까?
EDIT3 : 결과적으로 설정 파일에서 ReadOnly를 제거하여 "해결했습니다". 이것은 파일이 자동으로 생성 될 때마다 제거되므로 최적이 아닙니다.
EDIT4 : 더 나은 솔루션은 연결 문자열 대신 사용자 범위 문자열을 사용하여 데이터 집합을 연결하고이 문자열의 값을 두 개의 응용 프로그램 범위가 지정된 ConnectionStrings에서 가져온 것입니다.
어떤 데이터 액세스 기술을 사용하고 있습니까? 일반 ADO.NET? Linq-2-SQL? 테이블 어댑터? – Jeremy
또한 SQL Server 2003도 없습니다. 2000, 2005 및 2008이 있습니다. – Jeremy
TableAdapter에 대한 자동 생성 코드가 없지만 자동으로 연결을 중지하고 바로 연결을 수정할 수 있다고 생각했을 것입니다. Connect 메소드 또는 이와 유사한 메소드를 제공하십시오. –