컴파일 된 Visual Basic .NET 응용 프로그램에서 데이터 소스가 어떻게 연결되어 있습니까?
-
06-07-2019 - |
문제
내 프로젝트에 새 데이터 소스를 추가하려고 할 때 "선택한 연결은 현재 프로젝트의 일부가 아닌 로컬 데이터 파일을 사용합니다. 파일을 프로젝트에 복사하고 연결을 수정 하시겠습니까? "
VB.net을 처음 접하고 일반적으로 비 스크립트 앱을 프로그래밍하기 때문에 이것은 다소 모호한 것 같습니다. 이 경우 데이터 소스는 .SDF SQL CE 파일입니다.
질문 1 : 데이터베이스를 프로젝트에 복사하고 싶다고 말하면 앱을 컴파일 한 후 어떻게 될까요? 데이터베이스는 어디에 있습니까? (다른 앱에서 어떻게 편집할까요?)
질문 2 : 포함하지 않으면 데이터 소스가 어떻게 계속 연결되어 있습니까? FileSystem Enviroiment 변수를 사용하여 링크 할 수 있습니까? %프로그램 파일%myappdir?
질문 3 : FTP와 같이 웹에서 읽기 전용 (읽기 만하면됩니다) 데이터 소스를 사용하라고 말할 수 있습니까?
미리 도움을 주셔서 감사합니다! =))
해결책
Visual Studio는 프로젝트 폴더에 나머지 파일과 함께 모든 파일을 한 곳에 두려고합니다.
Q1 -SQL CE 데이터베이스는 원하는 곳이면 어디든지 가능하며, app.settings에서 ConnectionStrings 설정 섹션을 사용합니다. SQL CE는 단지 파일 일뿐입니다. 더 이상 아무것도없고, 어떤 응용 프로그램에서도 액세스 할 수 있습니다. IS는 앱에 컴파일되지 않고 배포 할 때만 여행합니다.
Q2에 대답하려면 - 아마도 가능하지만, 그것이 당신을 위해 자동으로 작동하는지 확실하지 않습니다.
Q3- FTP에서 읽으려면 FTP 클라이언트 지원을 앱에서 작업하고 백그라운드에서 다운로드하지 않는 한 아마도 그렇지 않을 것입니다. 또 다른 솔루션은 FTP를 로컬 드라이브에 매핑하고 거기에서 액세스하는 것입니다.
예를 들어, app.config에 연결 문자열 저장 (app.config에서 발췌) :
<connectionStrings>
<add name="db" connectionString="Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0; data source=c:SomePathToSDFfile" />
</connectionStrings>
응용 프로그램의 뒷부분에서 다음과 같이이 연결 문자열에 액세스하십시오. (System.Configuration에 대한 참조 추가).
Dim c As Configuration.ConnectionStringSettingsCollection
Dim cn As SqlClient.SqlConnection
c = Configuration.ConfigurationManager.ConnectionStrings
cn = New SqlClient.SqlConnection
cn.ConnectionString = c.Item("db").ConnectionString
cn.Open()